達夢數據庫的視圖管理

達夢數據庫的視圖管理

視圖(view),也稱虛表, 不佔用物理空間,因爲視圖本身的定義語句還是要存儲在數據字典裏的。視圖只有邏輯表,每次使用的時候,只是重新執行SQL。
還有一種叫物化視圖(materialized view),也稱實體化視圖,它是含有數據的,佔用存儲空間。

1、視圖管理
視圖是從一個或多個實際表中獲得的,這些表的數據存放在數據庫中。那些用於產生視圖的表叫做該視圖的基表,一個視圖也可以從另一個視圖中產生。

創建測試表,並且插入一條數據測試
create table tab_view_cs (id int, name varchar(10), sex varchar(10), bithdate date);
insert into tab_view_cs values(100, 'test','female', '2019-7-13');
達夢數據庫的視圖管理

創建視圖測試,查詢視圖的結果
create or replace view tab_view_cs_v as select id, name from tab_view_cs where sex='female';
select name from tab_view_cs_v;
達夢數據庫的視圖管理

刪除視圖
drop view tab_view_cs_v;
達夢數據庫的視圖管理

2、物化視圖
物化視圖(materialized view),也稱實體化視圖,它是含有數據的,佔用存儲空間。
創建兩張測試表
create table tab_mview_cs_1(v1 int, v2 char(10), v3 varchar(20), v4 date);
create table tab_mview_cs_2(t1 int, t2 char(10), t3 varchar(20), t4 date);
達夢數據庫的視圖管理

創建物化視圖,並且查詢物化視圖結果
create materialized view tab_mview_cs_mv(v1, v2, v3, v4) build immediate refresh complete enable query rewrite as select tab_mview_cs_1.v1 as v1, tab_mview_cs_1.v2 as v2, tab_mview_cs_1.v3 as v3, tab_mview_cs_2.t4 as v4 from tab_mview_cs_1, tab_mview_cs_2 where tab_mview_cs_1.v1= tab_mview_cs_2.t1;

select * from tab_mview_cs_mv;
達夢數據庫的視圖管理

修改視化視圖和刪除後再查看看結果
alter materialized view tab_mview_cs_mv disable query rewrite;
drop materialized view tab_mview_cs_mv;
select * from tab_mview_cs_mv;
達夢數據庫的視圖管理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章