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:
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 (09) Verwenden von Spaltenaliasen 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:
|
>>: Tutorial zum Erstellen einer VSCode+CMake+Clang+GCC-Umgebung unter Win10
Ich möchte das Marquee-Tag verwenden, um das Scrol...
Inhaltsverzeichnis 1. beschreibbar: beschreibbar ...
1. Canvas-Bilder als CSS-Hintergrundbilder verwen...
Vorwort: Ich habe vor Kurzem begonnen, den Aufbau...
Vorwort Das Docker-Image kann nicht gelöscht werd...
Wir diskutieren hier nicht über PHP-, JSP- oder ....
Wie unten dargestellt: Aktualisiere Tabelle1 als ...
Vorne geschrieben Weibo-Komponenten sind Komponen...
1. Einspaltiger Index Die Auswahl der Spalten, fü...
Im vorherigen Artikel https://www.jb51.net/articl...
REPLACE Syntax REPLACE(String,from_str,to_str) Da...
Dies ist der Effekt der Element-UI-Ladekomponente...
1. Laden Sie das Zip-Installationspaket herunter ...
Inhaltsverzeichnis 1. Grundlegendes Verständnis v...
Welches dieser Formate (GIF, PNG oder JPG) sollte...