Im Pythian-Blog schreibt Timur Akhmadeev über seine Tests zur Bestimmung der Bedeutung der Operation
TABLE ACCESS BY INDEX ROWID BATCHED
im Exceution Plan für 12c. Grundsätzlich ist die Sammlung und Sortierung der im Index aufgefundenen rowids vor dem Zugriff auf die Tabelle nichts Neues: sie tritt auch schon in 11g als NL-Join Batching auf - und daneben gibt es noch weitere Prefetching-Mechanismen (etwa im Kontext von db file parallel read). Der Artikel liefert eine ganze Reihe von Detailbeobachtungen, die sich allerdings nicht ohne Weiteres auf einen gemeinsamen Nenner bringen lassen, weshalb ich mir die Nacherzählung erst mal spare und stattdessen das Fazit zitiere:
In 12c Oracle changed some internal code path which deals with the batched table access. But important thing is that the batched table access is not new, so even if you disable it either explicitly with _optimizer_batch_table_access_by_rowid or implicitly with optimizer_features_enable, Oracle will still be able to utilize a similar approach as it was in 11g.
Mal sehen, ob gelegentlich jemand einen eingängigeren Reim darauf findet.
Keine Kommentare:
Kommentar veröffentlichen