oracle query rewrite,[Oracle][Performance]善用Materialized View提高查询性能#3 Query Rewrite

本文探讨了Oracle数据库中Materialized View (MV) 的使用方法及其如何通过查询重写技术提高前端查询性能。早期DBA需手动创建中继表并修改前端SQL语句,现在借助query rewrite则能自动实现这一过程,简化维护流程并显著提升查询效率。
摘要由CSDN通过智能技术生成

[Oracle][Performance]善用Materialized View提高查询性能#3 Query Rewrite

早期无query rewrite技术,DBACreate中继table提高前端查询性能,但前端程序也需要修改相关Sql statement(牵一发动全身)

可说相当麻烦,如果需求量少倒还好,但量大的话我想DBA这工作应该没人会想做的(事多钱少责任大~>

这篇就来看看Oracle query rewriete技术所带来的改善(MSSQL2005/2008也有应用)

文章均为自己见解,如有错误还请指教

Overview

当现有的Materialized views被用来满足请求时,查询优化器可以自动识别,紧接着就会重新写入请求。查询直接指向materialized view,而不用知道具体细节,这样使系统性能得到改善。

Oracle 现在又多了其他查询重写能力,它通常会把相关查询重新写到次目录中,比如,如果有人采用不正确的查询模式使用不存在的语句时,Oracle SQL优化器就会自动探测到这种情况。同时会以更快的SQL查询速度来取代原有SQL。

Cost-Based Query Rewrite Process

image_thumb.png

Example1:

image_thumb_1.png

Example2:

image_thumb_2.png

Example3:

image_thumb_3.png

相关参数设定

query_rewrite_enabled=true

query_rewrite_integrity= STALE_TOLERATED

下篇小弟将简单应用MV相关特性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值