dba:oracle12c_top_n_native_query
Oracle 12c Datenbank - native Top-N Abfragen
Eine native Top-N Abfrage ist nun auch in 12c Oracle möglich!
Zuvor mit 11g und Analytic Function ⇒ Oracle Analytic Function - Beispiel 2 - Top N Query
Selektiere die Top 5:
FETCH FIRST 5 ROWS ONLY
SELECT object_id , object_name FROM dba_objects ORDER BY object_id DESC FETCH NEXT 5 ROWS ONLY / OBJECT_ID OBJECT_NAME ------------ ------------------------------ 129319 WRP$_REPORTS_DETAILS_IDX02 129318 WRP$_REPORTS_DETAILS_IDX01 129317 SYS_IL0000006450C00009$$ 129316 SYS_LOB0000006450C00009$$ 129315 WRP$_REPORTS_DETAILS
Hole nach einem Offset von 5 die Top 5 (Blättern):
OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY
SELECT object_id , object_name FROM dba_objects ORDER BY object_id DESC OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY / OBJECT_ID OBJECT_NAME ------------ ------------------------------ 129314 WRP$_REPORTS_IDX02 129313 WRP$_REPORTS_IDX01 129312 WRP$_REPORTS 129271 MGMT_AUDIT_LOGS_IDX05 129270 MGMT_AUDIT_LOGS_IDX04
Selektiere die Top 5 + alle mit gleichen Werten:
FETCH FIRST 5 ROWS WITH TIES
Selektiere die Top 5 Prozent aus der Tabelle:
FETCH FIRST 5 PERCENT ROWS ONLY
SELECT OWNER ,SEGMENT_NAME ,BYTES FROM dba_segments FETCH FIRST 1 PERCENT ROWS ONLY /
Intern sehen die Ausführungspläne nach eine Umsetzung über Analytical Funktionen aus.
Quellen
- DOAG 2014 - Konfernzvortrag
dba/oracle12c_top_n_native_query.txt · Zuletzt geändert: 2014/11/22 18:34 von gpipperr