数据库高级优化技术:物化视图和查询重写
需积分: 45 65 浏览量
更新于2024-08-23
收藏 2.3MB PPT 举报
"高级优化技术:数据库高级优化技术"
在数据库优化中,高级优化技术是提高数据库性能的重要手段。本文将从物化视图、分区标记、查询重写等方面对高级优化技术进行详细介绍。
1. 物化视图
物化视图是一种虚拟表,每次访问它都会导致这个查询语句被执行一次。为了避免每次访问都执行这个查询,可以将这个查询的结果集存储到一个物化视图中。物化视图只是对已经存储于别处的数据的转换和复制。物化视图也可以被使用在分布式环境中,用来做数据库间的数据复制。
在创建物化视图时,必须指定一个名字和一个查询。物化视图使用的表被称为基础表(basictable或者主表master table)。注意,在创建包含orderby子句的物化视图时,返回记录只是在物化视图创建时才根据orderby子句进行排序,后续的刷新操作不会再进行排序。
数据库引擎将创建一个物化视图(数据字典中的一个对象)和一个容器表(containertable)。容器表是一个普通表,他拥有和物化视图相同的名字,用来存储这个查询语句返回的值。容器表可以象其他任何表一样被查询。
2. 分区标记
分区标记是一个由包dbms_mview里的函数pmarker生成的一个分区标识符。函数pmarker需要将rowid作为参数传入来创建分区标记。如何创建了一个包含分区标记的物化视图?针对每条记录进行调用,不要低估这个时间花费,会造成大约2倍的时间差距(带有分区标记和不带有分区标记)。
3. 查询重写
查询重写是数据库优化的一种技术。查询优化器可以自动选择使用物化视图来对查询进行重写,只要这个物化视图包含执行这条查询需要的全部或者部分数据。是否使用物化视图是基于查询优化器对执行计划的开销的计算。为了利用查询重写,必须在两个层次上被启用:动态参数query_rewrite_enabled被设置为true,对物化视图启用查询重写。通过执行计划,发现启用了查询重写,并且使用了物化视图。
在高级优化技术中,物化视图、分区标记、查询重写等技术都是提高数据库性能的重要手段。在使用这些技术之前,必须先对数据访问与表连接进行优化,只有在无法通过其他途径提升性能的时候,才建议使用这里介绍的高级优化技术。
2019-01-22 上传
2024-03-09 上传
2013-07-06 上传
2010-03-02 上传
2022-10-15 上传
点击了解资源详情
2021-12-10 上传
2021-12-10 上传
2021-08-04 上传
雪蔻
- 粉丝: 27
- 资源: 2万+
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析