"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je optimiser les performances de comptage (*) sur InNODB avec les indices et la mise en cache statistique?

Comment puis-je optimiser les performances de comptage (*) sur InNODB avec les indices et la mise en cache statistique?

Publié le 2025-02-09
Parcourir:762

How Can I Optimize COUNT(*) Performance on InnoDB with Indices and Statistical Caching?

Optimisation du nombre (*) Performance sur innodb avec des indices

Lorsqu'ils traitent de grandes mais étroites de tables innodb, l'exécution des requêtes Count (*) peut être notoirement lente. Cela a été rencontré dans un scénario où un tableau composé de environ 9 millions d'enregistrements a abouti à un décompte de 6 secondes (*). gains. Ceci est réalisé en utilisant la syntaxe Utiliser index (index_name) dans la requête.

Dans l'exemple donné, la requête suivante a été utilisée:

select count (id) from perf2 use Index (primaire);
SELECT COUNT(id) FROM perf2 USE INDEX (PRIMARY);

Créer des statistiques de table (`key` varchar (50) Not Null Primary Key,` value` varchar (100) pas null);

Par la suite, un événement est créé pour mettre à jour régulièrement le tableau des statistiques avec le nombre actuel:

CREATE TABLE stats (`key` VARCHAR(50) NOT NULL PRIMARY KEY, `value` VARCHAR(100) NOT NULL);
Cette solution autonome permet des intervalles de rafraîchissement personnalisables, assurant la précision et la fraîcheur du nombre stocké. Bien qu'il ne soit pas parfait, il offre des améliorations de performances considérables par rapport aux méthodes traditionnelles.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3