Oracle如何实现利用实体化视图提高查询性能
实体化视图不仅可以作为远程复制查询的功用,而且能够提高复杂的统计查询的性能.
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如何实现利用实体化视图提高查询性能相关推荐
- Oracle 原理: 物化视图,快照,实体化视图。
8i和8i前,oracle 提供了 快照 snapshot ,9i中把其改名为物化视图,也叫实体化视图 materialized View. 在海量数据中,如果只想查询特定的数据,通常会select ...
- oracle实体视图日志,Oracle案例02——ORA-12034: SCOTT.USER_TABLE 上的实体化视图日志比上次刷新后的内容新...
通过查看schedual job报错日志,具体报错信息如下 ORA-12034:"SCOTT"."USER_TABLE" 上的实体化视图日志比上次刷新后的内容新 ...
- 利用自定义分页技术提高数据库性能
利用自定义分页技术提高数据库性能 孟宪会 2002-11-11 14:28:17 Web应用程序是显示数据库中数据的一个非常好的方法,通过它,你可以把业务复杂,并有访问和安全规则的数据库数据以一种简单 ...
- 《MySQL开发规范》过时了,视图的查询性能提升了一万倍
MySQL 8.0新特性专栏目录 <MySQL开发规范>过时了,视图查询性能提升了一万倍 你真的会用EXPLAIN么,SQL性能优化王者晋级之路 索引三剑客之降序索引和不可见索引 千呼万唤 ...
- 高性能MySQL学习——提高查询性能
高性能MySQL学习--提高查询性能 提高查询性能 MySQL 查询优化器 MySQL 执行计划分析"三步曲" MySQL 执行计划查询分析 如何优化 SQL MySQL 自身优化 ...
- 字节面试:谈谈索引为什么能提高查询性能?
前言 昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法? 这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了. 她又不紧不慢的问,索引为什么就能提高查询性能. 这还用问,索引就像 ...
- 索引为什么能提高查询性能....
前言 昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法? 这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了. 她又不紧不慢的问,索引为什么就能提高查询性能. 这还用问,索引就像 ...
- 利用 squid 反向代理提高网站性能
本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...
- 《机器学习实战》学习笔记(七):利用AdaBoost 元算法提高分类性能
欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...
- 利用AdaBoost元算法提高分类性能
本篇博文涵盖如下内容: 组合相似的分类器来提高分类性能 应用AdaBoost算法 处理非均衡分类问题 元算法(meta-algorithm): 对其他算法进行组合的一种方式. 最为流行的元算法: Ad ...
最新文章
- 别太把图神经网络当回事儿
- 作业11:最优前缀码
- win32 api setwindowlong 第2个参数_第 6 篇:分页接口
- 最新GitHub新手使用教程(Linux/Ubuntu Git从安装到使用)——详细图解
- OpenCV C++ 07 - Histogram Equalization of a Color image with OpenCV
- hibernate不能保存时分秒处理
- 虚拟机Class文件结构笔记
- 【渝粤题库】广东开放大学mysql数据库及应用 形成性考核 - 副本 (5)
- paip.java 注解的详细使用代码
- (Windows)获取系统显示的缩放比例方法
- STM32使用MCUISP下载程序教程
- [原创]编程实现UCDOS字库的显示和打印
- dota2收集服务器延迟,dota2亚服延迟高的解决办法!
- Oracle数据库管理维护
- 姚爱红计算机组成原理知识要点,计算机组成原理课程混合教学模式探究
- tensorflow中FLAGS全局变量用法
- 百钱买百鸡问题,买鸡问题的解决方案
- 独家爆料!在美团搞安全,是种怎样的体验?
- 用户态协议栈之epoll实现
- laravel api 429 问题解决