2011-06-24 3 views
1

Je dois effectuer 10 000 INSERT, puis 10 000 UPDATE sur les lignes insérées. Je me demande si UPDATE dans SQL est plus rapide que INSERT ou non. Table simple normale avec 30 à 50 colonnes. J'utilise JDBC. Oubliez IDBC - la différence est neglegiblePerformances SQL: UPDATE est plus rapide que INSERT

+0

http://stackoverflow.com/questions/1271641/in-sql-is-update-always-faster-than-deleteinsert http://stackoverflow.com/questions/3895622/is-it-faster-to- update-a-row-or-to-delete-it-et-insert-a-new-one – sdolgy

+2

Je ne vois pas pourquoi vous devez immédiatement mettre à jour les lignes que vous avez déjà insérées. Pourquoi ne pas fournir les valeurs correctes pendant l'insertion tout de suite? –

Répondre

3

En théorie, les mises à jour peuvent être plus rapides, surtout si les colonnes mises à jour ne sont pas indexées. Une raison simple est qu'un insert nécessite la réallocation de l'espace et éventuellement un split/rééquilibrage des index, alors qu'une mise à jour ne contenant pas d'index nécessite au maximum une redistribution de l'espace (varchar), voire pas (des champs de longueur fixe).

Questions connexes