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

MySQL 8.0-Installationstutorial unter Linux

Dieser Artikel beschreibt Ihnen, wie Sie MySQL 8....

Sequentielles und zufälliges Schreiben auf Linux-Festplatten

1. Einleitung ● Zufälliges Schreiben führt dazu, ...

HTML+CSS-Implementierungscode für abgerundete Rechtecke

Mir war langweilig und plötzlich fiel mir die Impl...

Detaillierte Analyse von MySQL-Ausführungsplänen

Vorwort Als wir im vorherigen Interviewprozess na...

Sprechen Sie kurz über MySQL Left Join Inner Join

Vorwort Ich war kürzlich damit beschäftigt, ein K...

Docker-Installations- und Konfigurationsschritte für das Redis-Image

Inhaltsverzeichnis Vorwort Umfeld Installieren Er...

Implementierung einer Login-Seite basierend auf layui

In diesem Artikelbeispiel wird der spezifische Co...

js, um einen einfachen Kalendereffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

Verwendung des offiziellen MySQL-Exporttools mysqlpump

Inhaltsverzeichnis Einführung Anweisungen Tatsäch...

Installationshinweise zur komprimierten Version von MySQL 5.7.17

In diesem Artikel werden die Installationsschritt...