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

Dieser Artikel zeigt Ihnen, wie Sie mit CSS-Rahmen spielen

Rahmenstil Die Eigenschaft „Border-Style“ gibt an...

So verwenden Sie ein Domestic Image Warehouse für Docker

1. Problembeschreibung Aus bestimmten Gründen ist...

So betreiben Sie eine MySQL-Datenbank mit dem ORM-Modell-Framework

Was ist ORM? ORM steht für Object Relational Mapp...

Teilen Sie 20 hervorragende Beispiele für Webformular-Design

Sophie Hardach Kai von Clyde Quay 37 Ost Seifenkis...

So sperren Sie eine virtuelle Konsolensitzung unter Linux

Wenn Sie an einem gemeinsam genutzten System arbe...

Erstellen Sie ein privates Docker-Warehouse (selbstsignierte Methode)

Um die von uns erstellten Images zentral zu verwa...

Beispiel für das Erstellen eines virtuellen Hosts basierend auf dem Apache-Port

Apache: Virtuellen Host basierend auf Port erstel...

Implementierung der CSS-Rahmenlängensteuerungsfunktion

Wenn die Rahmenlänge früher kleiner als der Conta...