/ / Oracle-Hinweise - müssen Ausführungsplan finden - Orakel, plsql, plsqldeveloper

Oracle Hinweise - müssen Ausführungsplan finden - Oracle, Plsql, Plsqldeveloper

Oracle-Hinweise Ich bin auf die ganze Website gestoßen, die verwandt istdazu aber ich verstand diese begriffe nicht. meine Frage ist 1. Ist es hilfreich, die Abfrageleistung zu optimieren? 2. Ist es nur ein Hinweis auf komplexe Fragen oder Logik? oder irgend ein anderer ?

EG: select /*+ FIRST_ROWS(10) */ * from track ;
&
select * from track ;

Performance weise beide dauerte 0,109 Sekunden?

Danke im Voraus

Antworten:

1 für die Antwort № 1

Grundsätzlich, wenn Sie nicht wissen, ob Sie Hinweise verwenden sollen oder nicht - dann nicht. Der Oracle-Datenbankoptimierer ist intelligent genug, um einen optimalen Ausführungsplan für Ihre Abfrage auszuwählen.

Wenn Sie CBO (Cost-based Optimizer) verwenden (undJa, Sie sollten), Sie müssen Tabellen analysieren (d. h. Statistiken sammeln und regelmäßig tun), damit der Optimierer relevante Daten verarbeiten kann. Wenn der Optimierer der Meinung ist, dass es 1000 Zeilen in einer Tabelle gibt, ist dies nicht sinnvoll, während Sie jetzt 100.000.000 Zeilen haben - der Plan würde sich höchstwahrscheinlich ändern viel.

Ein Hinweis weist den Optimierer an, dass dies geschehen sollteFühren Sie eine Abfrage so aus, wie Sie es sagten (indem Sie den Hinweis angeben). Nun, dieser Hinweis könnte falsch sein und das Endergebnis wird eine schlechtere Lösung sein als ohne Hinweis.

Verwenden Sie sie also nicht.