|
Great posting! I'm learning from your posting.
Some minor comments. v$bh.objd is better matched against data_object_id. Some operations can change it to a value higher than object_id.
将buffer cache清空, why not alter system flush buffer cache (or ALTER SESSION SET EVENTS 'immediate trace name flush_cache' in 9i). I remember somebody posted a test that seems to show bouncing the database could actually pre-load some block buffers and manually flushing it removes this artifact. But I never chased down the root cause.
If you really want to avoid going through buffer cache even for the select part (which does a full table scan), you can alter session set "_serial_direct_read"=true before the insert select.
I've never tested but can you test setting _idl_conventional_index_maintenance to false and see if the index can also behave the same way as the table in direct path insert? (I don't have access to a database right now.)
Yong Huang |
|