So verwenden Sie „not in“ zur Optimierung von MySql

So verwenden Sie „not in“ zur Optimierung von MySql

Als ich kürzlich in einem Projekt eine Auswahlabfrage verwendete, verwendete ich not in, um die nicht verwendete Primärschlüssel-ID auszuschließen. Das zu Beginn verwendete SQL war wie folgt:

wählen 
  s.SORT_ID,
  s.SORT_NAME,
  s.SORT_STATUS,
  s.SORT_LOGO_URL,
  s.SORT_LOGO_URL_LIGHT
von SYS_SORT_PROMOTE s
  WO
    s.SORT_NAME = 'Klassiker, die man unbedingt hören muss'
    UND s.SORT_ID NICHT IN ("SORTID001")
  Grenze 1;

Wenn die Tabelle viele Daten enthält, ist die Ausführungszeit dieses SQL lang und die Ausführungseffizienz gering. Ich habe online Informationen gefunden, dass es mit Left Join optimiert werden kann. Das optimierte SQL lautet wie folgt:

wählen 
  s.SORT_ID,
  s.SORT_NAME,
  s.SORT_STATUS,
  s.SORT_LOGO_URL,
  s.SORT_LOGO_URL_LIGHT
von SYS_SORT_PROMOTE s
left join (wählen Sie SORT_ID aus SYS_SORT_PROMOTE, wobei SORT_ID=#{sortId}) b
auf s.SORT_ID = b.SORT_ID
  WO
    b.SORT_ID IST NULL
    UND s.SORT_NAME = 'Klassiker, die man unbedingt hören muss'
  Grenze 1;

Im obigen SORT_ID=#{sortId} übergibt sortId den ID-Wert, der im SORT_ID-Feld ausgeschlossen werden muss. Beim Ausführen eines Left Outer Join wird das zu filternde Feld (SORT_ID) als Join-Bedingung verwendet. Fügen Sie abschließend b.SORT_ID IS NULL zur Where-Bedingung hinzu, um die zugehörigen Daten in der Tabelle herauszufiltern.

Verfassen Sie hier Ihren Aufsatz, um den Optimierungsprozess zu dokumentieren.

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 IN- und EXISTS-Optimierungsbeispiele
  • Optimierung von „not in“ und „minus“ in MySQL
  • Detaillierte Analyse von or, in, union und Indexoptimierung in MySQL
  • Implementierung von MySQL Select in der Unterabfrageoptimierung
  • Optimierte Aufzeichnung der Verwendung von IN-Datenvolumen in Mysql

<<:  Ein praktischer Bericht zur Fehlerbehebung bei einem Anstieg der Redis-Verbindungen in Docker

>>:  Detailliertes Tutorial zur Installation der virtuellen Python 3-Umgebung in Ubuntu 20.04

Artikel empfehlen

Detaillierte Erläuterung der MySQL-Datenbankisolationsebene und des MVCC

Inhaltsverzeichnis 1. Isolationsstufe LESEN SIE U...

Zusammenfassung einiger Gedanken zur Binlog-Optimierung in MySQL

Frage Frage 1: Wie kann der Leistungsverlust beho...

Tutorial zur Installation der komprimierten MySQL8-Paketversion unter Win10

1 Laden Sie MySQL8 von der offiziellen Website he...

Gründe und Methoden zum Warten auf die Sperre der Tabellenmetadaten in MySQL

Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...

Einfaches Tutorial zur Verwendung von Navicat für MySQL

empfehlen: Detailliertes Tutorial zur Registrieru...

Implementierungsmethode für die bidirektionale Bindung von Vue-Daten

Inhaltsverzeichnis 1. Einleitung 2. Code-Implemen...

JavaScript implementiert eine Eingabefeldkomponente

In diesem Artikelbeispiel wird der spezifische Co...

Der Unterschied zwischen Animation und Übergang

Der Unterschied zwischen CSS3-Animation und JS-An...

Zusammenfassung der Blockelemente, Inline-Elemente und variablen Elemente

Blockelement p - Absatz Text vorformatieren Tisch ...

Methode der Toolbibliothek zur Generierung von Vue-Komponentendokumenten

Inhaltsverzeichnis Analysieren von VUE-Dateien Do...