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

So verwenden Sie CSS-Zähler, um geordnete Zahlenlisten zu verschönern

Beim Webdesign ist es sehr wichtig, eine organisi...

Schritte zum Exportieren der Felder und zugehörigen Attribute von MySQL-Tabellen

Müssen die Felder und Eigenschaften der Tabelle i...

Eine kurze Analyse der Verwendung von watchEffect in Vue3

Vorwort Jeder sollte mit der Watch-API in vue2 ve...

Detailliertes Tutorial zur schnellen Installation von Zookeeper in Docker

Docker: Zookeeper schnell installieren Ich habe Z...

MySQL-Datenbank implementiert MMM-Hochverfügbarkeitsclusterarchitektur

Konzept MMM (Master-Master-Replikationsmanager fü...

Werbefähigkeiten im Baidu Union-Umfeld (grafisches Tutorial)

Kürzlich haben Studierende des User Experience-Tea...

So zeichnen Sie spezielle Grafiken in CSS

1. Dreieck Rahmeneinstellungen Code: Breite: 300p...

Tutorial zum Erstellen eines FTP-Servers in Ubuntu 16.04

Ubuntu 16.04 baut FTP-Server FTP installieren FTP...

Zusammenfassung der drei Lazy-Load-Methoden lazyLoad mit nativem JS

Inhaltsverzeichnis Vorwort Methode 1: Hoher Kontr...