oracle查询缓存数据,如何在Oracle中缓存查询结果?

问题陈述:

您想提高常用查询的性能。

解:

我们必须使用Oracle的结果缓存来存储常用SQL的查询结果,因此当执行相同的查询时,可以快速检索它们以备将来使用。

结果缓存是Oracle 11g的新增功能,它将使我们能够将常用查询的结果存储在内存中,以便快速,轻松地进行检索。

示例SELECT /*+ result_cache */

e.class_id,

min_fees,

max_fees

FROM students e ,jobs j

WHERE e.class_id = j.class_id

GROUP BY e.class_id, min_fees, max_fees;

为了演示如何使用它,我们将检查上述sql的explain_plan。

示例EXPLAIN PLAN FOR

SELECT /*+ result_cache */

e.class_id,

min_fees,

max_fees

FROM students e ,jobs j

WHERE e.class_id = j.class_id

GROUP BY e.class_id, min_fees, max_fees;

SELECT *

FROM table(DBMS_XPLAN.DISPLAY (FORMAT=>'ALL'));

输出结果---------------------------------------------------------------------------------------------------

| Id  | Operation            | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |

---------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT     |                            |    19 |   475 |     4  (25)| 00:00:01 |

|   1 |  RESULT CACHE        | a1pfq5gpbag4wgj0zth2xasdj1 |    19 |   

你可能感兴趣的:(oracle查询缓存数据)