Das vorliegende Problem betrifft ein deutlich langsames „SELECT COUNT (*)“-Abfrage in MySQL, auch wenn eine „WHERE“-Klausel angewendet wird. Um dieser Herausforderung zu begegnen, ist es wichtig, den Speichermechanismus von MySQL zu verstehen.
InnoDB, die in diesem Fall verwendete Speicher-Engine, verwendet geclusterte Primärschlüssel. Dies bedeutet, dass der Primärschlüssel neben der Datenzeile auf denselben Datenseiten und nicht auf separaten Indexseiten gespeichert wird. Folglich erfordert die Durchführung eines Bereichsscans für einen gruppierten Primärschlüssel das Scannen aller Zeilen, einschließlich ihrer möglicherweise breiten Spaltenwerte. Die betreffende Tabelle enthält eine TEXT-Spalte, was das Leistungsproblem weiter verschärft.
Um diese Abfrage zu optimieren, ziehen Sie die folgenden Strategien in Betracht:
Um die Leistung weiter zu verbessern, sollten Sie die Spalte „change_event_id“ in ändern sei „BIGINT UNSIGNED“, wenn es von Null aus inkrementiert. Diese Änderung kann zu geringeren Speicheranforderungen und verbesserter Leistung führen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3