Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mieux vaut utiliser * lors de l'appel de nombreux champs dans mysql ?

Remarque : nommer tous les champs est bien sûr une bonne pratique, mais dans cet article, je ne discuterai que des avantages en termes de performances, et non de conception ou de maintenance.

Le * la syntaxe peut être plus lente pour les raisons suivantes :

  • Tous les champs ne sont pas indexés et la requête utilise une analyse complète de la table. Ce n'est probablement pas votre cas :il est peu probable que tous les champs que vous renvoyez soient indexés avec un seul index.

  • Le renvoi des champs de fin d'une table contenant des colonnes de longueur variable peut entraîner une légère surcharge de recherche :pour renvoyer 20th champ, précédent 19 doivent être examinés et les compensations calculées.

  • Juste plus de données doivent être renvoyées (transmises via la connexion).

Puisque vous avez besoin de presque tous les champs, la dernière raison est probablement la plus importante. Dites, le description TEXT le champ ne peut être que 1 de 50 champs non utilisés sur la page, mais pouvant occuper 10 fois plus d'espace que tous les autres champs réunis.

Dans ce cas, il sera bien sûr préférable de nommer tous les champs et d'omettre les longs champs dont vous n'avez pas besoin.