
# CREATE MATERIALIZED VIEW
CREATE MATERIALIZED VIEW会创建一个全量物化视图，并且后续可以使用REFRESH MATERIALIZED VIEW（全量刷新）刷新物化视图的数据。
CREATE MATERIALIZED VIEW类似于CREATE TABLE AS，不过它会记住被用来初始化该视图的查询， 因此它可以在后续中进行数据刷新。一个物化视图有很多和表相同的属性，但是不支持临时物化视图。
#### 注意事项
- 全量物化视图不可以在临时表或全局临时表上创建。
- 全量物化视图不支持nodegroup。
- 创建全量物化视图后，基表中的绝大多数DDL操作不再支持。
- 不支持对全量物化视图进行IUD操作。
- 全量物化视图创建后，当基表数据发生变化时，需要使用刷新（REFRESH）命令保持物化视图与基表同步。
- Ustore引擎不支持物化视图的创建和使用。
 
#### 语法格式
```
CREATE MATERIALIZED VIEW mv_name
    [ (column_name [, ...] ) ]
    [ WITH ( {storage_parameter = value} [, ... ] ) ]
      [ TABLESPACE tablespace_name ]
    AS query
    [ WITH [ NO ] DATA ];
```
#### 参数说明
- **mv_name**
  要创建的物化视图的名称（可以被模式限定）。
  取值范围：字符串，要符合[标识符命名规范](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0266.html#ZH-CN_TOPIC_0000002221496149__zh-cn_topic_0000002220894609_section1257443811315)。
  
- **column_name**
  新物化视图中的一个列名。物化视图支持指定列，指定列需要和后面的查询语句结果的列数量保持一致；如果没有提供列名，会从查询的输出列名中获取列名。
  取值范围：字符串，要符合[标识符命名规范](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0266.html#ZH-CN_TOPIC_0000002221496149__zh-cn_topic_0000002220894609_section1257443811315)。
  
- **WITH ( storage_parameter \[= value\] \[, ... \] )**
  这个子句为表或索引指定一个可选的存储参数。详见[CREATE TABLE](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0424.html#ZH-CN_TOPIC_0000002186016182)。
  
- **TABLESPACE tablespace_name**
  指定新建物化视图所属表空间。如果没有声明，将使用默认表空间。
  
- **AS query**
  一个SELECT、TABLE 或者VALUES命令。这个查询将在一个安全受限的操作中运行。
  
 
#### 示例
```
--创建一个普通表。
openGauss=# CREATE TABLE my_table (c1 int, c2 int);
--创建全量物化视图。
openGauss=# CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table;
--基表写入数据。
openGauss=# INSERT INTO my_table VALUES(1,1),(2,2);
--对全量物化视图my_mv进行全量刷新。
openGauss=# REFRESH MATERIALIZED VIEW my_mv;
--删除全量物化视图。
openGauss=# DROP MATERIALIZED VIEW my_mv;
--删除普通表my_table。
openGauss=# DROP TABLE my_table;
```
#### 相关链接
[ALTER MATERIALIZED VIEW](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0366.html#ZH-CN_TOPIC_0000002221496253)， [CREATE INCREMENTAL MATERIALIZED VIEW](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0407.html#ZH-CN_TOPIC_0000002221381853)，[CREATE TABLE](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0424.html#ZH-CN_TOPIC_0000002186016182)，[DROP MATERIALIZED VIEW](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0451.html#ZH-CN_TOPIC_0000002221381905)，[REFRESH INCREMENTAL MATERIALIZED VIEW](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0485.html#ZH-CN_TOPIC_0000002186175894)，[REFRESH MATERIALIZED VIEW](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/gaussdb_42_0486.html#ZH-CN_TOPIC_0000002221496389)
