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.
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.
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.
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 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.