Est-ce que quelqu'un sait si la suppression des noms de champs d'une requête INSERT entraîne des améliorations de performance?SQL INSERT performance omettant les noms de champs?
Je veux dire est ceci:
INSERT INTO table1 VALUES (value1, value2, ...)
plus rapide pour DB à accomplir plutôt que de faire ceci:
INSERT INTO table1 (field1, field2, ...) VALUES (value1, value2, ...)
? Je sais que c'est peut-être une différence de performance sans signification, mais juste pour le savoir. J'utilise généralement MySQL et PostgreSQL comme DBs.
+1 Je suis d'accord en principe, mais il se demande - sera pas avoir à interroger le schéma sur ce dernier cas pour les définitions de colonnes/par défaut de toute façon? – Andy
@Andy: peut-être - mais seulement pour un sous-ensemble des champs - ceux que vous spécifiez. Pour l'INSERT, la différence peut être extrêmement marginale - mais pour les SELECTs, il vaut vraiment la peine de spécifier explicitement les champs - aussi pour des raisons de vitesse –
+1 Et aussi la lisibilité serait vraiment mauvaise pour une requête d'insertion avec disons 10 colonnes si on ne le fait pas spécifiez les noms des colonnes. –