Oracle 9i 引入多區塊大小(Multiple Block Size)支援,被視為核心引擎最重要的創新之一。搭配位圖自由鏈表、Redo-based 複寫、動態 SGA 等特性,徹底改變資料庫 I/O 優化策略。
讀取資料區塊時面臨三種延遲:
前兩者佔總延遲 99% 以上,且與區塊大小無關。讀取 32K 區塊耗時與讀取 2K 幾乎相同。結論:單次 I/O 讀取越大區塊,整體 I/O 次數越少,效能越好。

圖 1:Oracle 8i 三大資料緩衝區(KEEP、RECYCLE、DEFAULT)

圖 2:Oracle 9i 八大資料緩衝區(含 5 種區塊大小專用池)
記憶體存取速度(奈秒級)較磁碟(毫秒級)快 14,000 倍。隨著記憶體價格下降,SGA 動輒超過 10GB,熱點資料全駐留記憶體成為常態。DBA 需監控各緩衝區命中率,在邊際效益遞減前精準分配記憶體頁面:

圖 3:小緩衝區增加頁面的明顯效益

圖 4:大緩衝區邊際效益遞減曲線
調優良好的資料庫,索引大小往往接近表資料量。大區塊(32K)讓單次 I/O 讀取更多索引分支節點,大幅降低索引樹遍歷的 I/O 次數。實務建議:
Oracle 9i 多區塊大小架構讓 DBA 能依據資料存取模式精準匹配儲存參數,不再被「一刀切」的單一區塊大小綁手綁腳,是大型任務關鍵資料庫效能調優的利器。