实体化视图不仅可以作为远程复制查询的功用,而且能够提高复杂的统计查询的性能.
1.创建查询语句对应的实体化视图. 
SQL> conn sh/sh;
SQL> create materialized view mv_sales
  2  refresh complete
  3  start with sysdate next sysdate+1
  4  as select PROD_ID,Count(PROD_ID) from sales group by PROD_ID;
    
2.该视图是Enabled Query Rewrite,如果不是,
  运行下面的命令
  Alter Materialized View mv_sales enable query rewrite;
3.参数query_rewrite_enabled 值是true. 你可以在参数里设置,或者会话级设置
  Alter session set query_rewrite_enabled = true;

4.第四个也是最容易被忽略的,那就是optimizer_mode,不能是rule或者choose(在Oracle9i里这个值缺省是choose)
  Alter session set  optimizer_mode = true;

如果你还是发现你的查询很慢,你可以进行以下诊断:
declare
 varQUERY VARCHAR2(200);
 varMV VARCHAR2(50);
 varSTATEMENT_ID VARCHAR2(10);
begin
 varQUERY:= 'select PROD_ID,Count(PROD_ID) from sales group by PROD_ID'; --查询语句
 varMV:= 'MV_SALES';  --相应的实体化视图名称
 varSTATEMENT_ID:= 'hello'; --语句ID
 DBMS_MVIEW.EXPLAIN_REWRITE(QUERY=>varQUERY,MV=>varMV,STATEMENT_ID=>varSTATEMENT_ID);
end;

如果执行上面的命令报告以下错误:ORA-30380 REWRITE_TABLE does not exist.
则先 Create it using the ORACLE_HOME\rdbms\admin\utlxrw.sql script after connecting to the desired schema.
然后查询 原因:select * from rewrite_table;

转载于:https://www.cnblogs.com/SharkXu/archive/2007/02/08/OracleMView.html

Oracle如何实现利用实体化视图提高查询性能相关推荐

  1. Oracle 原理: 物化视图,快照,实体化视图。

    8i和8i前,oracle 提供了 快照 snapshot ,9i中把其改名为物化视图,也叫实体化视图 materialized View. 在海量数据中,如果只想查询特定的数据,通常会select ...

  2. oracle实体视图日志,Oracle案例02——ORA-12034: SCOTT.USER_TABLE 上的实体化视图日志比上次刷新后的内容新...

    通过查看schedual job报错日志,具体报错信息如下 ORA-12034:"SCOTT"."USER_TABLE" 上的实体化视图日志比上次刷新后的内容新 ...

  3. 利用自定义分页技术提高数据库性能

    利用自定义分页技术提高数据库性能 孟宪会 2002-11-11 14:28:17 Web应用程序是显示数据库中数据的一个非常好的方法,通过它,你可以把业务复杂,并有访问和安全规则的数据库数据以一种简单 ...

  4. 《MySQL开发规范》过时了,视图的查询性能提升了一万倍

    MySQL 8.0新特性专栏目录 <MySQL开发规范>过时了,视图查询性能提升了一万倍 你真的会用EXPLAIN么,SQL性能优化王者晋级之路 索引三剑客之降序索引和不可见索引 千呼万唤 ...

  5. 高性能MySQL学习——提高查询性能

    高性能MySQL学习--提高查询性能 提高查询性能 MySQL 查询优化器 MySQL 执行计划分析"三步曲" MySQL 执行计划查询分析 如何优化 SQL MySQL 自身优化 ...

  6. 字节面试:谈谈索引为什么能提高查询性能?

    前言 昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法? 这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了. 她又不紧不慢的问,索引为什么就能提高查询性能. 这还用问,索引就像 ...

  7. 索引为什么能提高查询性能....

    前言 昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法? 这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了. 她又不紧不慢的问,索引为什么就能提高查询性能. 这还用问,索引就像 ...

  8. 利用 squid 反向代理提高网站性能

    本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...

  9. 《机器学习实战》学习笔记(七):利用AdaBoost 元算法提高分类性能

    欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...

  10. 利用AdaBoost元算法提高分类性能

    本篇博文涵盖如下内容: 组合相似的分类器来提高分类性能 应用AdaBoost算法 处理非均衡分类问题 元算法(meta-algorithm): 对其他算法进行组合的一种方式. 最为流行的元算法: Ad ...

最新文章

  1. 别太把图神经网络当回事儿
  2. 作业11:最优前缀码
  3. win32 api setwindowlong 第2个参数_第 6 篇:分页接口
  4. 最新GitHub新手使用教程(Linux/Ubuntu Git从安装到使用)——详细图解
  5. OpenCV C++ 07 - Histogram Equalization of a Color image with OpenCV
  6. hibernate不能保存时分秒处理
  7. 虚拟机Class文件结构笔记
  8. 【渝粤题库】广东开放大学mysql数据库及应用 形成性考核 - 副本 (5)
  9. paip.java 注解的详细使用代码
  10. (Windows)获取系统显示的缩放比例方法
  11. STM32使用MCUISP下载程序教程
  12. [原创]编程实现UCDOS字库的显示和打印
  13. dota2收集服务器延迟,dota2亚服延迟高的解决办法!
  14. Oracle数据库管理维护
  15. 姚爱红计算机组成原理知识要点,计算机组成原理课程混合教学模式探究
  16. tensorflow中FLAGS全局变量用法
  17. 百钱买百鸡问题,买鸡问题的解决方案
  18. 独家爆料!在美团搞安全,是种怎样的体验?
  19. 用户态协议栈之epoll实现
  20. laravel api 429 问题解决

热门文章

  1. Java高并发之设计模式,设计思想!
  2. 基于SpringCloud开发的分布式系统,遇到爬虫、接口盗刷怎么办?
  3. 93岁计算机密码发明人去世:创建全球首个分时系统,成为计算机普及开端
  4. [matlab]用LU分解法求解线性方程组
  5. 详解 HTTPS 移动端对称加密套件优
  6. mysql无法授权问题
  7. 在信号处理函数中调用longjmp
  8. 机器学习:更多的数据总是优于更好的算法吗?
  9. 巴巴运动网学习笔记(51-55)
  10. Codeup_575I_剪刀石头布