Datenbankabfrageoptimierung: Unterabfrageoptimierung

Datenbankabfrageoptimierung: Unterabfrageoptimierung

1. Fall

Nehmen Sie alle Mitarbeiter, die nicht Firmenchef sind und gruppieren Sie diese nach Alter!

select age als 'Alter', count(*) als 'Anzahl der Personen' aus t_emp, wobei die ID nicht in 
(Wählen Sie „CEO“ aus „t_dept“, wobei „CEO“ nicht null ist) Gruppieren Sie nach Alter; 

Wie kann optimiert werden?

① Lösen Sie den vollständigen Tabellenscan der Abteilungstabelle und erstellen Sie einen Index für das Feld „CEO“:

Führen Sie zu diesem Zeitpunkt eine erneute Abfrage durch:

② Weitere Optimierung, nicht ersetzen.

Das obige SQL kann durch Folgendes ersetzt werden:

select age als ‚Alter‘, count(*) als ‚Anzahl der Personen‘ von emp e left join dept d on e.id=d.ceo where d.id ist null, group by age; 

Fazit: Versuchen Sie bei der Beurteilung des Bereichs, „not in“ und „not exists“ zu vermeiden. Verwenden Sie stattdessen den Left Join für „xxx is null“.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • MySQL-Datenbankabfrageoptimierung MySQL-Effizienz
  • Abfrageoptimierung und Paging-Algorithmus für riesige Datenbanken
  • Optimierung von Datenbankabfragen (Master-Slave-Tabellendesign)
  • Detaillierte Erläuterung der Optimierung von Abfrageanweisungen in der MySQL-Datenbank
  • Eine Sammlung von Abfrageoptimierungs- und Paging-Algorithmen für riesige Datenbanken 1/2
  • Sammlung von Abfrageoptimierungs- und Paging-Algorithmen für riesige Datenbanken 2/2
  • Eine praktische Aufzeichnung eines Timeout-Optimierungsproblems für Datenbankabfragen

<<:  So verwenden Sie die Firewall-Iptables-Strategie zum Weiterleiten von Ports auf Linux-Servern

>>:  Detailliertes Beispiel für die Verwendung von useState in React

Artikel empfehlen

10 Tipps zum Entwerfen nützlicher, benutzerfreundlicher Webanwendungen

Hier sind 10 Tipps zum Entwerfen benutzerfreundli...

So verwenden Sie Shell-Skripte in Node

Hintergrund Während der Entwicklung benötigen wir...

Webdesign-Erfahrung: Effizientes Schreiben von Webcode

Ursprünglich sollte dieses siebte Kapitel eine aus...

Detaillierte Erläuterung des vite2.0-Konfigurationslernens (Typescript-Version)

einführen Die ursprünglichen Worte von You Yuxi. ...

So erhalten Sie den Maximal- oder Minimalwert einer Zeile in SQL

Originaldaten und Zieldaten SQL-Anweisungen imple...

Interner Ereignisrückruf der Webkomponentenkomponente und Problempunktanalyse

Inhaltsverzeichnis Vorne geschrieben Was genau is...