CREATE MATERIALIZED VIEW介紹
何謂CREATE MATERIALIZED VIEW
- 建立實體化檢視,表格查詢情境中參照頻率較高,比一般檢視具有較高的效能,透過子查詢新增資料到實體化檢視,假如主表格被移除,實體化檢視的資料仍然存在,可以進行正常查詢操作
格式
CREATE MATERIALIZED VIEW mview_name
[BUILD {IMMEDIATE | DEFERRED}]
[REFRESH {COMPLETE | FAST | FORCE}] [ON {COMMIT | DEMAND}]
[FOR UPDATE]
[{ENABLE | DISABLE} QUERY REWRITE]
AS SELECT select_statement;
mview_name : 實體化檢視名稱
BUILD IMMEDIATE : 透過子查詢所新增的資料,立即交易
BUILD DEFERRED : 透過子查詢所新增的資料,延遲交易
REFRESH COMPLETE : 完全更新實體化檢視資料,當主表格資料做更新
REFRESH FAST : 遞增更新,當主表格資料更新時,只反映更新部分的資料,注意必須要建立實體化檢視日誌,才可使用這項功能
REFRESH FORCE : 先以FAST進行更新,無法進行再以COMPLETE進行更新,此為預設值
ON COMMIT : 自動更新,當主表格交易結束
ON DEMAND : 手動更新,必須搭配DBMS_MVIEW包裝的REFERSH程序使用進行更新,此為預設值
FOR UPDATE : 可對實體化檢視操作DML語法
ENABLE QUERY REWRITE : 使用查詢覆寫
DISABLE QUERY REWRITE : 關閉查詢覆寫
select_statement : 子查詢
使用方式
說明 : 建立實體化檢視,名稱為emp_view,透過emp表格做資料新增,並可以使用查詢覆寫,所使用的交易型態為立即交易
create materialized view emp_view
build immediate
refresh complete
enable query rewrite
as select * from emp;