Pourquoi il ne faut pas mettre "SELECT *" dans ces requetes

Résolu
Sannazzarotiti Messages postés 228 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 12 avril 2009 - 14 févr. 2006 à 12:56
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 15 févr. 2006 à 12:37
J'ai cru voir dans les commentaire d'un sources, que le codeur avait mal faitt ces requete et qu'il ne fallait jamais mettre SELECT *. Est ce que c'est vrai, pourquoi?

merci d'avance

7 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
14 févr. 2006 à 13:03
Salut...

Non, il ne faut pas être exclusif à ce point !
select * est une syntaxe reconnue et bien pratique, donc utilisable.

Mais le confort de cette étoile à des conséquences :
* Un peu plus lent que si on énumère les champs
* Le résultat sera plus lourd (tout est pris)
* On ne contrôle pas ce format de sortie... si un champ est rajouté que tu utilises mysql_fetch_row() : Attention !

Enfin bon... des détails si tu ne court pas après le chronomètre et de la perfection pour les amoureux du beau code

A+
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
14 févr. 2006 à 18:39
Salut,

"Enfin bon... des détails si tu ne court pas après le chronomètre et de la perfection pour les amoureux du beau code"

je ne suis pas tout à fait d'accord avec ça. Quand tu vois un SELECT * t'es également bien emmerdé quand il s'agit de savoir quels champs t'as sélectionnés (si en plus t'as un mysql_fetch_row... lol

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 févr. 2006 à 12:37
Hello,

moi, jamais. Sauf dans phpmyadmin, enterprise manager, etc...
Mais jamais dans un code. Pour les raisons invoquées par Antho et J_G : c'est plus de charge serveur, et c'est illisible. Le serveur de bdd est souvent ce qui est le plus sollicité dans un site dynamique. Et plus le site est gros, plus c'est le cas...alors autant l'économiser quand c'est possible :-)
3
Sannazzarotiti Messages postés 228 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 12 avril 2009
14 févr. 2006 à 14:52
Merci, je te remerci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sannazzarotiti Messages postés 228 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 12 avril 2009
14 févr. 2006 à 18:47
mysql_fetch_row, je ne sais pas a quoi sert cette fonction, vous pouriez me le dire svp.
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
14 févr. 2006 à 18:48
Oui... c'est sûr que je ne le conseillerais pas.
M'enfin, il m'arrive de l'utiliser sur des petites tables.
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
14 févr. 2006 à 18:51
0
Rejoignez-nous