squale92Le 26/09/2009 à 17:33
Pour l'histoire de "select *" vs "select liste de champs", il y peu y avoir deux impacts, en dehors de ce qui est sécurité ou autre :
- select * signifie généralement plus de données retournées ; donc, plus de traffic réseau, et plus de mémoire consommée du côté de l'application
- un select sur quelques champs très précis peu être intéressant dans le cas où ces champs sont tous inclus dans l'index utilisé pour effectuer la recherche (du moins, dans le cas où la requête est suffisament bien foutue pour n'effectuer de recherche que dans un index) ; ça veut dire lire les données depuis l'index, qui a de fortes chances d'être en RAM, plutôt que d'aller chercher les données, qui ont des chances plus élevées d'être sur le disque -- du moins, en MySQL.