Lösungen für Probleme bei der Leistungsoptimierung von MySQL-Indizes

Lösungen für Probleme bei der Leistungsoptimierung von MySQL-Indizes

Die von MySQL erstellte Optimierung besteht im Hinzufügen von Indizes. Manchmal können jedoch Situationen auftreten, in denen das Hinzufügen von Indizes nicht den gewünschten Effekt erzielt.

Nach dem Hinzufügen schlägt die Suche nach allen Daten immer noch fehl. Der Grund ist SQL

ERKLÄREN AUSWÄHLEN
      cs.sid,
      -- c.courseFrontTitle,
      -- c.imgBig,
      cs.studyStatus,
      coi.Gebühr,
      -- act.PROC_INST_ID_ AS Prozess-ID,
      cs.createDTM,
      cs.payStatus,
      cs.istabgeschlossen,
      cs.saleChannel,
cs.isDelete
    AUS
      Biz_CourseStudy cs

    LINKS JOIN Biz_CourseOrderItem coi ON cs.sid = coi.CourseStudyID 
    
    WO
      cs.studentID = 00001 und cs.payStatus nicht in(0)

Wenn man sich den Index ansieht, liegt der Grund darin, dass sid bigint und der Typ von CourseStudyID varchar ist. Der Grund ist hier. Nach der Änderung des Typs in bigint wird die Abfragegeschwindigkeit sofort verbessert.

Ich bin auf eine solche Situation gestoßen. Nach der Analyse des Extras stellte ich fest, dass die Geschwindigkeit ohne Reihenfolge um 0,6 s und mit hinzugefügter Reihenfolge um 6 s in Ordnung war.

Die Lösung besteht darin, einen Index für die Sortierung zu erstellen. Hier besteht meine Sortierung aus zwei Feldern.

order by endTime desc ,isDelete desc

Erstellen Sie einen gemeinsamen Index für ab, index_a_b

SELECT xxx FROM verwalten a FORCE INDEX(index_a_b)
LEFT JOIN f_name f ON f.Benutzer-ID = a.Benutzer-ID
ORDER BY a.endTime desc,a.isDelete desc

Zu diesem Zeitpunkt ist die Verwendung von Filesort bei Betrachtung der Leistung verschwunden

Die Geschwindigkeit beträgt direkt 0,6 s

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • MySQL-Leistungsoptimierungs-Index-Pushdown
  • MySQL-Performance-Optimierung: So nutzen Sie Indizes effizient und richtig
  • Fallstudie zur Leistungsoptimierung bei MySQL – einschließlich Indexfreigabe
  • Fallstudie zur Leistungsoptimierung von MySQL – einschließlich Index und SQL_NO_CACHE
  • MySQL Leistungsoptimierung Indexoptimierung
  • Die Nutzungsstrategie und Optimierung hinter MySQL-Indizes (Hochleistungsindex-Strategie)
  • MySQL verwendet Indizes zur Leistungsoptimierung

<<:  Nginx kompiliert nginx - neues Modul hinzufügen

>>:  Detaillierter Prozess zum Konfigurieren eines HTTPS-Zertifikats unter Nginx

Artikel empfehlen

React-Methode zum Anzeigen von Daten auf Seiten

Inhaltsverzeichnis Übergeordnete Komponente „list...

Warum MySQL das Löschen von Daten nicht empfiehlt

Inhaltsverzeichnis Vorwort InnoDB-Speicherarchite...

Zusammenfassung der Vue Watch-Überwachungsmethoden

Inhaltsverzeichnis 1. Die Rolle der Uhr in Vue is...

Tiefgreifendes Verständnis der MySQL-Selbstverbindung und Join-Assoziation

1. MySQL-Selbstverbindung MySQL muss beim Abfrage...

Eine kurze Analyse der Netzwerkprogrammierfunktionen von Linux

Inhaltsverzeichnis 1. Erstellen Sie einen Socket ...

Beispiel für die Bereitstellung von Spring Boot mit Docker

Hier verwenden wir hauptsächlich Spring-Boot, das...

CSS: besuchte geheime Erinnerungen des Pseudoklassenselektors

Gestern wollte ich a:visited verwenden, um die Fa...

js-Speicherleckszenarien, wie man sie im Detail überwacht und analysiert

Inhaltsverzeichnis Vorwort Welche Situationen kön...

Lösung für Nginx-Installationsfehler

1. Entpacken Sie nginx-1.8.1.tar.gz 2. Entpacken ...

So verwenden Sie residente Knoten für die Ebenenverwaltung in CocosCreator

CocosCreator-Version: 2.3.4 Die meisten Spiele ve...

Verwenden Sie Javascript, um eine dynamische QQ-Registrierungsseite zu erstellen

Inhaltsverzeichnis 1. Einleitung 1. Grundlayout 2...

Einige Dinge, die Sie über den Varchar-Typ in MySQL wissen sollten

Speicherregeln für varchar In Versionen unter 4.0...