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

Verwendung des MySQL-Stresstesttools Mysqlslap

1. MySQLs eigenes Stresstest-Tool Mysqlslap mysql...

MySQL-Backup-Tabellenvorgang basierend auf Java

Der Kern ist mysqldump und Runtime Der Vorgang is...

Der einfachste Weg, ein Programm beim Start in Linux automatisch auszuführen

Ich habe viele davon gesammelt, aber alle endeten...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.27

Das Installationstutorial für MySQL 5.7.27 wird w...

Ein Beispiel für das elegante Schreiben von Urteilen in JavaScript

Inhaltsverzeichnis Vorwort 1. Monadisches Urteil ...

Das Erlebnis gestalten: Was auf dem Knopf liegt

<br />Vor Kurzem hat UCDChina eine Artikelse...

Detaillierte Erklärung des Overflow-Scrollens zur Lösung des Scroll-Lag-Problems

Vorwort Wenn Sie das Attribut „overflow: scroll“ ...

So schreiben Sie asynchrone Aufgaben in modernem JavaScript

Vorwort In diesem Artikel untersuchen wir die Ent...