GaussDB数据库中全量物化视图的概述:全量物化视图仅支持对创建好的物化视图做全量更新,而不支持做增量更新。创建全量物化视图语法和CREATE TABLE AS语法一致,不支持对全量物化视图指定NodeGroup创建。
1、语法格式
创建全量物化视图
CREATE MATERIALIZED VIEW [ view_name ] AS { query_block };
全量刷新物化视图
REFRESH MATERIALIZED VIEW [ view_name ];
查询物化视图
SELECT * FROM [ view_name ];
删除物化视图
DROP MATERIALIZED VIEW [ view_name ];
2、示例
--创建测试表
DROP TABLE IF EXISTS company;
CREATE TABLE company (
id int4 PRIMARY KEY,
name varchar(10) NOT NULL,
age int4 NOT NULL,
address varchar(20) NOT NULL,
salary float4 NOT NULL
);
--插入测试数据
INSERT INTO company VALUES (1, 'Paul', 32, 'California', 20000);
INSERT INTO company VALUES (2, 'Allen', 25, 'Texas', 15000);
--创建全量物化视图
CREATE MATERIALIZED VIEW v_test AS select count(*) as num from company;
--查询物化视图结果
SELECT * FROM v_test;--再次向物化视图中源表插入数据
INSERT INTO company VALUES (3, 'Teddy', 23, 'Norway', 20000);
INSERT INTO company VALUES (4, 'ZhangSan', 30, 'BeiJing', 30000);
--对全量物化视图做全量刷新
REFRESH MATERIALIZED VIEW v_test;
--查询物化视图结果
SELECT * FROM v_test;--删除物化视图
DROP MATERIALIZED VIEW v_test;




