結果快取
Oracle( 11g 及更高版本 )允許將 SQL 查詢快取在 SGA 中並重用以提高效能。它從快取而不是資料庫查詢資料。後續執行相同的查詢更快,因為現在正從快取中提取資料。
SELECT /*+ result_cache */ number FROM main_table;
輸出 -
Number 1
2
3
4
5
6
7
8
9
10
Elapsed: 00:00:02.20
如果我現在再次執行相同的查詢,則執行的時間將減少,因為現在從第一次執行期間設定的快取中提取資料。
輸出 -
Number 1
2
3
4
5
6
7
8
9
10
Elapsed: 00:00:00.10
注意經過的時間從 2.20 秒減少到 0.10 秒。
結果快取儲存快取,直到更新/更改/刪除資料庫中的資料。任何更改都將釋放快取。