01-03-2007, 10:45 PM
Je veux pas vous casser la baraque, mais, même si c'est vrai que le * peut être employé, il serai préférable de mettre la liste des champs pour plusieurs raisons...
1. Ils seront facilement lisibles dans ton code
2. Ils seront plus rapidement triés dans tes order by
3. Tu peux les récupérer dans l'ordre que tu désire, même s'ils ne sont pas rangés comme tu le voudrai dans ta BD
4. Ca ira plus vite à interpréter pour le SQL (explication : lorsque tu met *, l'interpréteur SQL fait dabord une requête dans la table système regroupant les tables pour récupérer la liste des champs, puis elle remplace le * par cette liste, et enfin elle effectue la requête que tu as demandée).
Si tu utilises d'autres applications, telles que MSSQL par exemple, tu notera que quand tu crée des vues de tables, il remplace automatiquement les * par la liste des champs. C'est de l'optimisation de code
Maintenant, la différence est suffisemment faible en terme de temps pour s'en passer... Mais si tu fait ça sur une boucle, alors il est préférable d'optimiser.
1. Ils seront facilement lisibles dans ton code
2. Ils seront plus rapidement triés dans tes order by
3. Tu peux les récupérer dans l'ordre que tu désire, même s'ils ne sont pas rangés comme tu le voudrai dans ta BD
4. Ca ira plus vite à interpréter pour le SQL (explication : lorsque tu met *, l'interpréteur SQL fait dabord une requête dans la table système regroupant les tables pour récupérer la liste des champs, puis elle remplace le * par cette liste, et enfin elle effectue la requête que tu as demandée).
Si tu utilises d'autres applications, telles que MSSQL par exemple, tu notera que quand tu crée des vues de tables, il remplace automatiquement les * par la liste des champs. C'est de l'optimisation de code
Maintenant, la différence est suffisemment faible en terme de temps pour s'en passer... Mais si tu fait ça sur une boucle, alors il est préférable d'optimiser.