Sur un de mes projets utilisant une base de données MySQL avec plusieurs millions d'enregistrements, j'ai constaté avec stupeur d'énormes lenteurs sur mes requêtes UPDATE. En effet, mes requêtes s'effectuaient en boucle et le serveur MySQL explosait en consommation CPU. Ma requête était aussi simple comme ci-dessous : UPDATE matable set cible='nouvelle_valeur'; Mais l'exécution de cette requête pouvait dépasser les 60 secondes sur ma table de plusieurs millions de lignes. J'avais un serveur suffisamment dimensionné pour le projet avec 16Go de RAM sur un VPS. Après quelques analyses, il s'est avéré que le problème provenait de l'absence d'indexation du champs cible . Phase 1 : diagnostique Il est important de comprendre ce qui tourne ou qui consomment de la ressource pour comprendre pourquoi votre base de données devient lente. Pour cela utiliser au passage une simple commande top , si vous êtes sur Debian, permettra de comprendre qui vous c...