Ich habe Millionen Datensatz in der Datenbanktabelle mit Konto Nr, Adresse und viele weitere Spalten. Ich möchte 100 Zeilen in der Reihenfolge sortieren, ich habe rownum dafür verwendet, aber die Abfrage dauert sehr lange, da sie die gesamte Tabelle zuerst in sortierter Reihenfolge durchsucht und dann das rownum anwendet.SQL-Tuning, lange laufende Abfrage + rownum
Was ist die Lösung zur Minimierung der Abfrage Ausführungszeit?
Zum Beispiel:
select *
from
(select
acc_no, address
from
customer
order by
acc_no desc)
where
ROWNUM <= 100;
Haben Sie den Index für die Kundentabelle definiert? – Sumit
Da Sumit sagt, dass Sie einen Index haben sollten, nehme ich an acc_no ist einzigartig? Wenn es nicht Ihr Primärschlüssel ist, sollte es zumindest im Index enthalten sein – MarkD
Für welches RDBMS ist das? Bitte fügen Sie ein Tag hinzu, um anzugeben, ob Sie 'mysql',' postgresql', 'sql-server',' oracle' oder 'db2' verwenden - oder etwas ganz anderes. –