Optimierung der Datenbank-SQL-Anweisung

Optimierung der Datenbank-SQL-Anweisung

Warum optimieren:

Beim Start des eigentlichen Projekts, nachdem die Datenbank eine Zeit lang ausgeführt wurde, weisen die anfänglichen Datenbankeinstellungen einige Unterschiede zur tatsächlichen Datenbankleistung auf. Zu diesem Zeitpunkt müssen wir eine Optimierungsanpassung vornehmen.

Das Thema Datenbankoptimierung ist relativ umfangreich und lässt sich in vier Kategorien unterteilen:

  • 》Gastgeberleistung
  • 》Speichernutzungsleistung
  • 》Netzwerkübertragungsleistung
  • 》Leistung bei der Ausführung von SQL-Anweisungen [Softwareentwickler]

Hier sind einige Lösungen zur Datenbank-SQL-Optimierung:

(01) Wähle die effizienteste Reihenfolge der Tabellennamen (wird oft im schriftlichen Test abgefragt)

Der Datenbankparser verarbeitet die Tabellennamen in der FROM-Klausel von rechts nach links. Die letzte Tabelle in der FROM-Klausel wird zuerst verarbeitet. Wenn die FROM-Klausel mehrere Tabellen enthält, müssen Sie die Tabelle mit der geringsten Anzahl von Datensätzen auswählen und ans Ende setzen. Wenn die Abfrage mehr als drei Tabellen enthält, müssen Sie die Tabelle auswählen, auf die von anderen Tabellen verwiesen wird, und ans Ende setzen.

Beispiel: Abfrage Mitarbeiternummer, Name, Gehalt, Besoldungsgruppe, Abteilungsname

Wählen Sie emp.empno, emp.ename, emp.sal, salgrade.grade, dept.dname
von salgrade, dept, em
wobei (emp.deptno = dept.deptno) und (emp.sal zwischen salgrade.losal und salgrade.hisal)

1) Wenn die drei Tabellen überhaupt nichts miteinander zu tun haben, schreiben Sie die Tabelle mit den wenigsten Datensätzen und Spaltennamen ans Ende und so weiter.

2) Wenn die drei Tabellen miteinander in Beziehung stehen, platzieren Sie die Tabelle mit den meisten Referenzen am Ende und so weiter.

(02) Join-Reihenfolge in der WHERE-Klausel (wird oft in der schriftlichen Prüfung geprüft)

Die Datenbank analysiert die WHERE-Klausel von rechts nach links. Nach diesem Prinzip muss die Verbindung zwischen Tabellen links von anderen WHERE-Bedingungen geschrieben werden, und diejenigen Bedingungen, die die maximale Anzahl von Datensätzen herausfiltern können, müssen rechts von der WHERE-Klausel geschrieben werden.

Beispiel: Abfrage Mitarbeiternummer, Name, Gehalt, Abteilungsname

Wählen Sie emp.empno, emp.ename, emp.sal, Dept.dname
von emp,dept
wobei (emp.deptno = dept.deptno) und (emp.sal > 1500)

(03) Vermeiden Sie die Verwendung des Asterisk (*) in der SELECT-Klausel

Während des Analysevorgangs konvertiert die Datenbank * der Reihe nach in alle Spaltennamen. Diese Arbeit wird durch Abfragen des Datenwörterbuchs erledigt, was bedeutet, dass sie mehr Zeit in Anspruch nimmt.

wähle empno, ename aus emp;

(04) Verwenden Sie TRUNCATE statt DELETE

(05) Nutze COMMIT so oft wie möglich

Weil COMMIT den Rollback-Punkt freigibt

(06) Ersetzen Sie die HAVING-Klausel durch die WHERE-Klausel

WHERE wird zuerst ausgeführt, HAVING wird später ausgeführt

(07) Verwenden Sie häufiger interne Funktionen, um die SQL-Effizienz zu verbessern

(08) Tabellenaliase verwenden

salgrade s

(09) Verwenden von Spaltenaliasen

ename e

Kurz gesagt, Datenbankoptimierung ist kein Thema, das man an einem Tag lernt. Man muss in der langfristigen Arbeitspraxis wiederholt Tests und Zusammenfassungen durchführen. Ich hoffe, dass die Schüler es in Zukunft gut verstehen werden.

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:
  • Erstellen Sie einen stabilen und hochverfügbaren Cluster basierend auf MySQL + MyCat, Lastausgleich, Master-Slave-Replikation und Lese-/Schreibtrennung
  • Installation und Start von mycat in einer Windows-Umgebung
  • Beispiel für die Verwendung von mycat zur Implementierung der Lese-/Schreibtrennung in MySQL-Datenbanken
  • MyBatis nutzt MyCat zur Realisierung von Multi-Tenancy
  • Installation und Verwendung der MySQL MyCat-Middleware
  • Datenbankabfrageoptimierung: Unterabfrageoptimierung
  • Vier Isolationsebenen der Datenbank
  • Beispiele für Dateneinschränkungen basierend auf einer MySQL-Datenbank und Einführung in fünf Integritätseinschränkungen
  • So gehen Sie mit verstümmelten Zeichen in der MySQL-Datenbank um
  • Einführung in MyCat, die Datenbank-Middleware

<<:  Vue verwendet benutzerdefinierte Anweisungen, um Wasserzeichen am unteren Seitenrand hinzuzufügen

>>:  Tutorial zum Erstellen einer VSCode+CMake+Clang+GCC-Umgebung unter Win10

Artikel empfehlen

Drei Eigenschaften von Javascript-Objekten

Inhaltsverzeichnis 1. beschreibbar: beschreibbar ...

CSS Paint API: Ein CSS-ähnliches Zeichenbrett

1. Canvas-Bilder als CSS-Hintergrundbilder verwen...

Einführung in den Löschvorgang von B-Tree

Im vorherigen Artikel https://www.jb51.net/articl...

Mehrere praktische Szenarien zur Implementierung der Ersetzungsfunktion in MySQL

REPLACE Syntax REPLACE(String,from_str,to_str) Da...

Reines HTML+CSS, um einen Element-Ladeeffekt zu erzielen

Dies ist der Effekt der Element-UI-Ladekomponente...

Detaillierte Hinweise zu React für Einsteiger

Inhaltsverzeichnis 1. Grundlegendes Verständnis v...

So wählen und verwenden Sie PNG, JPG und GIF als Web-Bildformate

Welches dieser Formate (GIF, PNG oder JPG) sollte...