iT邦幫忙

DAY 19
3

Oracle and MS SQL系列 第 20

[Day 19]Oracle-善用Materialized View#Query Rewrite

  • 分享至 

  • twitterImage
  •  

早期無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

Example1:

Example2:

Example3:

相關參數設定
query_rewrite_enabled=true
query_rewrite_integrity= STALE_TOLERATED

下篇小弟將簡單應用MV相關特性


上一篇
[Day 18]Oracle-善用Materialized View#Refresh Materialized view
下一篇
[Day 20]Oracle-善用Materialized View#測試
系列文
Oracle and MS SQL34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言