假設oracle數據庫有40M字節的緩存內存。我是數據庫的唯一用戶,我想了解如何執行查詢以計算緩存命中率一個問題。在Oracle中解釋計劃和計算緩存命中率
比方說,我們有這個疑問:
SELECT column1, count(*)
FROM table1
GROUP BY column1
ORDER BY column1 desc
假設table1
不到40M大小,現在解釋計劃說:(?I/O)
TABLE ACESS(FULL)
有1330的成本,那麼成本1340和SELECT STATEMENT
成本1340也SORT(GROUP BY)
。
我不明白,爲什麼SORT
和SELECT STATEMENT
每個都花費1340個I/O?
由於當我們進行表訪問時我們的緩存大於表的大小,所以我們在緩存中加載磁盤內容,然後當我們想要排序和選擇時,我們只需要檢索緩存的內容,所以在我的頭腦應該是零排序和選擇的I/O。
另外我該如何計算該查詢的緩存命中率?
你可以發佈執行計劃嗎? –