Oracle-Paging: Analytische Funktion ROW_NUMBER() VS ROWNUM

Beim Paging getan werden muss, um in einer web-site... Welche Methode besser abschneidet?

Analytische Funktion ROW_NUMBER()

ROWNUM

  • http://www.oracle.com/technetwork/issue-archive/2007/07-jan/o56asktom-086197.html
  • INMHO ich finde dieses Vorgehen mehr Menschen lesbaren code
    SELECT * FROM (
      SELECT rownum rn, a.* 
      FROM(
        SELECT columnA, columnB
        FROM table 
        ORDER BY columnB
      ) a 
      WHERE rn <= OFFSET
    )
    WHERE rnum >= LOW_LIMIT
    • Hinweis: ich verstehe, dass es RANK und DENSE_RANK-Analyse-Funktionen, aber können davon ausgehen, ich muss nur Seite durch deterministische Abfragen.
    • Hinweis 2: Zum abrufen der Gesamt-Menge der Datensätze, ich bin am überlegen in der Verwendung eines separaten einfachen Abfrage count(*)
Wie viele Zeilen werden Sie den Umgang mit? Hast u überprüfen, erklären plan?
mögliche Duplikate von Wie kann ich speed up row_number in Oracle?
Versuchen Sie eine test-Tabelle mit einer großen Menge von Daten und test sowohl gegen ihn, voila, du hast deine Antwort, die ist (durch die Folge der Tatsache, Sie lief der test selbst), das ganz direkt auf die hardware/Netzwerk/Umgebung in der Sie ausgeführt werden.!
nun, da Sie erwähnen,... die Antwort auf diese Frage hat einen tollen Artikel link.
Gute zeigt in Tests HW/Net/Umgebung.

InformationsquelleAutor Jimmy | 2011-08-16

Schreibe einen Kommentar