20 votes

Quelle est la différence de performance entre "insert ignore" et replace dans MySQL ?

J'aimerais savoir s'il existe une différence en termes de performances entre insert ignore y replace dans MySQL.

J'utilise MySQL 5.0.31. Toutes mes tables sont en InnoDB.

45voto

ajreal Points 31456

Insert ignore - si la clé/rangée existe, sauter l'insertion

replace - si la clé/rangée existe, supprimez la rangée correspondante et insérez-la à nouveau.

Donc, replace devrait être plus lente.
Mais insert ignore ne fait pas la mise à jour

détails : http://dev.mysql.com/doc/refman/5.5/en/replace.html

REPLACE fonctionne exactement comme INSERT, sauf que si une ancienne ligne de la table a la même valeur qu'une nouvelle ligne pour une PRIMARY KEY ou un index UNIQUE, l'ancienne ligne est supprimée avant l'insertion de la nouvelle ligne.

-1voto

achornes Points 1

Juste un commentaire général. L'insertion implique que ce qui était là avant reste. Le remplacement implique que quelque chose qui est déjà là est ciblé pour être retiré et que l'élément à insérer est installé à sa place. L'action de remplacement doit intrinsèquement cibler un élément qui est déjà là, le retirer et installer le nouvel élément.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X