2011-11-12 4 views
-1

J'ai plus de 200 000 enregistrements dans la base de données mysql. Quand j'exécute une requête de mise à jour, disons 5000 enregistrements, cela prend du temps pour effectuer cette tâche et je ne vois rien sur le navigateur, donc je ne vois pas combien de requêtes d'enregistrements ont été mises à jour avant la fin. Y a-t-il une solution disponible ou de l'aide?Mise à jour d'énormes enregistrements de base de données

+1

Pourquoi est-ce la dixième question absurde des 15 dernières minutes? Y a-t-il une pleine lune ou quelque chose? –

+0

@ TomalakGeret'kal, c'est * est * 11/11/11 ... – esqew

+0

@esqew: Plus maintenant! _ [J'accepte seulement le ** un vrai timezone **] _ –

Répondre

0

Pourquoi ne pas les mélanger? Vous pouvez ensuite voir le progrès plus facilement.

+0

Salut adam, merci pour la réponse que je pensais aussi. Connaissez-vous ou avez-vous une idée de tout cadre que je peux utiliser pour le traitement par lots? – Adhaata

+0

Cela peut être aussi simple que de faire en sorte que la requête prenne le TOP X d'un select puis d'effectuer la mise à jour sur ces enregistrements. Ensuite, répétez simplement. –

0

La solution consiste probablement à ajouter des index à une ou plusieurs colonnes, améliorant ainsi les performances de la requête UPDATE. Commencez par exécuter un EXPLAIN et probablement ajouter un index à une colonne CHAR/VARCHAR utilisée dans la clause WHERE de la requête de mise à jour.

Questions connexes