J'ai ajouté un champ à une table MySQL. J'ai besoin de remplir la nouvelle colonne avec la valeur d'une autre table. Voici la requête que je voudrais courir:Exécuter la requête de mise à jour MySQL sur 750k lignes
UPDATE table1 t1
SET t1.user_id =
(
SELECT t2.user_id
FROM table2 t2
WHERE t2.usr_id = t1.usr_id
)
j'ai couru cette requête localement sur 239K lignes et il a fallu environ 10 minutes. Avant de faire cela sur l'environnement en direct, je voulais demander si ce que je fais semble ok, c'est-à-dire 10 minutes sonnent raisonnable. Ou devrais-je le faire d'une autre manière, une boucle php? une meilleure requête?
Cette requête nécessite un 'LEFT JOIN 'pour produire les mêmes résultats (c'est-à-dire' NULL's dans les rangées absentes) – Quassnoi
wow! testé la requête sur 100 lignes - avg 650ms. Création de la clé d'index MUL sur usr_id sur les deux tables 100 lignes moyennes 7ms! – ed209
@ ed209: C'est incroyable l'impact que de petits changements peuvent avoir, hein? – Eric