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 des verschachtelten Routings im Vue-Router

Inhaltsverzeichnis Schritt 1. Konfigurieren Sie R...

Kostenloses Tutorial zur Installationskonfiguration der Version MySQL 5.7.18

MySQL wird in eine Installationsversion und eine ...

Detaillierte Erläuterung der JS ES6-Codierungsstandards

Inhaltsverzeichnis 1. Umfang des Blocks 1.1. let ...

Lösung für Nginx-Installationsfehler

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

Bei verschachtelten MySQL-Transaktionen aufgetretene Probleme

MySQL unterstützt verschachtelte Transaktionen, a...

JavaScript implementiert Countdown auf Front-End-Webseite

Verwenden Sie natives JavaScript, um den Countdow...

Beispielcode zur Implementierung einer QR-Code-Scanbox mit CSS

Normalerweise haben wir ein Scan-Feld, wenn wir d...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.11 Zip

1. Laden Sie das MySQL 5.7.11 Zip-Installationspa...

Analyse des Quellcodes des React-Ereignismechanismus

Inhaltsverzeichnis Prinzip Quellcodeanalyse Deleg...

Analyse des Implementierungsprozesses der Docker-Container-Orchestrierung

In tatsächlichen Entwicklungs- oder Produktionsum...

Nginx verwendet den Gzip-Algorithmus zum Komprimieren von Nachrichten

Was ist HTTP-Komprimierung Manchmal werden relati...

Verwendung von TypeScript-Generics

Inhaltsverzeichnis 1. Einfach zu bedienen 2. Verw...

Datenbankabfrage, welches Objekt welches Feld enthält, Methodenanweisung

Die Datenbank fragt ab, welches Objekt welche Fel...