检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用 语法格式 创建全量物化视图 CREATE MATERIALIZED VIEW [ view_name ] AS { query_block }; 刷新全量物化视图 REFRESH MATERIALIZED VIEW [ view_name ]; 删除物化视图 DROP MATERIALIZED
使用 语法格式 创建全量物化视图 CREATE MATERIALIZED VIEW [ view_name ] AS { query_block }; 刷新全量物化视图 REFRESH MATERIALIZED VIEW [ view_name ]; 删除物化视图 DROP MATERIALIZED
子网名称 subnet-src-172 自定义,易理解可识别。
概述 全量物化视图仅支持对已创建的物化视图进行全量更新,而不支持进行增量更新。创建全量物化视图语法和CREATE TABLE AS语法类似。 父主题: 全量物化视图
当前版本暂不支持对FOR UPDATE关键字进行识别并归一化处理。例如:SELECT * FROM table; 与SELECT * FROM table FOR UPDATE WAIT N; 会被归一化处理为相同的归一化SQL,在query字段中体现。
对于数组变量,小括号()将优先识别为下标,因此对于带括号的表达式,不支持写在数组变量后面。如对于SELECT (1+3) INTO va(5),不支持写为SELECT INTO va(5) (1+3)或SELECT INTO va[5] (1+3)。
对于数组变量,小括号“()”将优先识别为下标,因此对于带括号的表达式,不支持写在数组变量后面。如对于select (1+3) into va(5),不支持写为select into va(5) (1+3)或select into va[5] (1+3)。
对于上述场景,只要将过滤条件中的常量显式转换为varchar类型,结果如下: EXPLAIN verbose SELECT * FROM t1 WHERE c1 = 10::varchar; 为了提前识别隐式类型转换可能带来的性能影响,GaussDB提供了一个guc option:
对于上面的场景,只要将过滤条件中的常量显示转换为varchar类型,结果如下: EXPLAIN verbose SELECT * FROM t1 WHERE c1 = 10::varchar; 为了提前识别隐式类型转换可能带来的性能影响,我们提供了一个guc option:check_implicit_conversions
对于上面的场景,只要将过滤条件中的常量显示转换为varchar类型,结果如下: EXPLAIN verbose SELECT * FROM t1 WHERE c1 = 10::varchar; 为了提前识别隐式类型转换可能带来的性能影响,GaussDB提供了一个guc option
支持和约束 支持场景 通常全量物化视图所支持的查询范围与CREATE TABLE AS语句一致。 全量物化视图上支持创建索引。 支持analyze、explain。 不支持场景 物化视图不支持增删改操作,只支持查询语句。 约束 全量物化视图的刷新、删除过程中会给基表加高级别锁,若物化视图的定义涉及多张表
当前版本暂不支持对FOR UPDATE关键字进行识别并归一化处理。例如:SELECT * FROM table; 与SELECT * FROM table FOR UPDATE WAIT N; 会被归一化处理为相同的归一化SQL,在query字段中体现。
视图和关联表设计 视图设计 除非视图之间存在强依赖关系,否则不建议视图嵌套。 视图定义中尽量避免排序操作。 关联表设计 表之间的关联字段应该尽量少。 关联字段的数据类型应该保持一致。 关联字段在命名上,应该可以明显体现出关联关系。例如,采用同样名称来命名。 父主题: 数据库对象设计
视图和关联表设计 视图设计 除非视图之间存在强依赖关系,否则不建议视图嵌套。 视图定义中尽量避免排序操作。 关联表设计 表之间的关联字段应该尽量少。 关联字段的数据类型应该保持一致。 关联字段在命名上,应该可以明显体现出关联关系。例如,采用同样名称来命名。 父主题: 数据库对象设计
DICTIONARY DICTIONARY视图显示数据库中的数据字典表和系统视图的描述信息。所有用户都可以访问,该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DICTIONARY字段 名称 类型 描述 table_name character varying
DUAL DUAL视图是数据库根据数据字典自动创建的,用于保存表达式计算结果。任何用户都可以访问。该视图同时存在于PG_CATALOG和SYS schema中。 表1 DUAL字段 名称 类型 描述 DUMMY text 表达式计算结果。 父主题: 其他系统视图
DUAL DUAL视图是数据库根据数据字典自动创建的,用于保存表达式计算结果。任何用户都可以访问。该视图同时存在于PG_CATALOG和SYS schema中。 表1 DUAL字段 名称 类型 描述 DUMMY text 表达式计算结果。 父主题: 其他系统视图
视图和关联表设计 视图设计 【建议】除非视图之间存在强依赖关系,否则不建议视图嵌套。 【建议】视图定义中尽量避免排序操作。 关联表设计 【建议】表之间的关联字段应该尽量少。 【建议】关联字段的数据类型应该保持一致。 【建议】关联字段在命名上,应该可以明显体现出关联关系。例如,采用同样名称来命名
GS_MATVIEWS GS_MATVIEWS视图显示数据库中每一个物化视图的信息。 表1 GS_MATVIEWS字段 名称 类型 引用 描述 schemaname name PG_NAMESPACE.nspname 物化视图的模式名。 matviewname name PG_CLASS.relname
DICTIONARY DICTIONARY视图显示数据库中的数据字典表和系统视图的描述信息。所有用户都可以访问,该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DICTIONARY字段 名称 类型 描述 table_name character varying