发布网友 发布时间:2022-04-08 11:25
共1个回答
热心网友 时间:2022-04-08 12:54
实体化视图不仅可以作为远程复制查询的功用,而且能够提高复杂的统计查询的性能.1.创建查询语句对应的实体化视图.SQL conn sh/sh;SQL create materialized view mv_sales2refresh complete3start with sysdate nextsysdate+14as selectPROD_ID,Count(PROD_ID) from sales group by PROD_ID;2.该视图是Enabled Query Rewrite,如果不是,运行下面的命令Alter Materialized View mv_sales enable queryrewrite;3.参数query_rewrite_enabled 值是true.你可以在参数里设置,或者会话级设置Alter session set query_rewrite_enabled =true;4.第四个也是最容易被忽略的,那就是optimizer_mode,不能是rule或者choose(在Oracle9i里这个值缺省是choose)Alter session setoptimizer_mode =true;如果你还是发现你的查询很慢,你可以进行以下诊断:declarevarQUERY VARCHAR2(200);varMV VARCHAR2(50);varSTATEMENT_ID VARCHAR2(10);beginvarQUERY:= 'select PROD_ID,Count(PROD_ID) fromsales group by PROD_ID'; --查询语句varMV:= 'MV_SALES';--相应的实体化视图名称