2016-10-24 45 views

回答

0

訪問的塊的數量本質上是您的查詢執行的邏輯/一致性的數量。您可以使用該選項set autotrace traceonly statistics SQL * Plus中看到這樣的統計值:

SQL> set autotrace traceonly statistics; 
SQL> select * from customers; 

115005 rows selected. 


Statistics 
---------------------------------------------------------- 
      4 recursive calls 
      0 db block gets 
     8215 consistent gets 
     580 physical reads 
      0 redo size 
    4689008 bytes sent via SQL*Net to client 
     84826 bytes received via SQL*Net from client 
     7668 SQL*Net roundtrips to/from client 
      0 sorts (memory) 
      0 sorts (disk) 
    115005 rows processed 

consistent gets是塊使用的查詢(也稱爲「邏輯I/O」的數量physical reads實際上是檢索的塊數來自硬盤(因爲它們不在緩衝區緩存中)。

1

執行全表掃描所需的I/O總數取決於表的大小(select blocks from user_segments where segment_name='TABLE_NAME'),多塊讀取計數(由參數DB_FILE_MULTIBLOCK_READ_COUNT控制)以及是否正在使用並行執行操作。