数据仓库服务 GAUSSDB(DWS)-CREATE MATERIALIZED VIEW:参数说明

时间:2024-12-24 10:33:37

参数说明

  • BUILD DEFERRED | IMMEDIATE

    IMMEDIATE表示创建物化视图时即包含最新数据。

    DEFERRED表示创建物化视图时需要等到第一次refresh时才会包含数据。

  • REFRESH

    指定物化视图的刷新方式。

    创建物化视图后,物化视图中的数据只反映创建时刻基表的状态。当基表中的数据发生变化时,需要通过刷新物化视图(REFRESH MATERIALIZED VIEW)更新物化视图中的数据。

    • 目前只支持COMPLETE全量刷新这一种刷新方式。执行物化视图定义的查询语句并更新物化视图。
    • 刷新触发方式。

      ON DEMAND:手动按需刷新。

      START WITH (timestamptz) | EVERY (interval):定时刷新。START WITH指定首次刷新时间,EVERY 指定刷新间隔,根据指定的时间定时刷新,支持MONTH、DAY、HOUR、MINUTE及SECOND。

  • REFRESH AUTO

    同步物化视图的刷新方式。

  • ENABLE | DISABLE QUERY REWRITE

    是否支持查询重写。默认不支持。

    在指定ENABLE QUERY REWRITE时,需要设置GUC参数 mv_rewrite_rule才能启用物化视图查询重写功能。

    查询重写是指在对基表进行查询时, 如果基表上创建有物化视图,数据库系统自动判断是否可以使用物化视图中的预计算结果处理查询。

    如果可以使用某个物化视图,会直接从该物化视图读取预计算结果,起到加速查询的作用。

  • WITH ( { storage_parameter = value } [, ... ] )
    • ORIENTATION

      指定表数据的存储方式,即行存方式、列存方式,该参数设置成功后就不再支持修改。

      • 取值范围:
        • ROW,表示表的数据将以行式存储。

          行存储适合于OLTP业务,此类型的表上交互事务比较多,一次交互会涉及表中的多个列,用行存查询效率较高。

        • COLUMN,表示表的数据将以列式存储。

          列存储适合于 数据仓库 业务,此类型的表上会做大量的汇聚计算,且涉及的列操作较少。

      • 默认值:

        ROW表示创建行存表。

    • 物化视图不支持的存储类型:外表、时序表。
    • enable_foreign_table_query_rewrite

      指定是否允许包含外表的物化视图进行查询重写,需要与ENABLE QUERY REWRITE一起使用。

      外表数据有变化,物化视图无法感知。如果需要对包含外表的物化视图使用查询重写功能,需要指定此选项。

      取值范围:

      • on,允许包含外表的物化视图进行查询重写。
      • off,不允许包含外表的物化视图进行查询重写。

      默认值:off

    • bitmap_columns

      bitmap index只适用于hstore_opt表,只有开启表级参数enable_hstore_opt且开启bitmap_columns='指定列'。该参数仅9.1.0.200及以上集群版本支持。

    • secondary_part_num

      指定列存表二级分区的数量,仅适用于HStore列存表。该参数仅9.1.0.200及以上集群版本支持。

      取值范围:1~32

      默认值:8

    • enable_hstore_opt

      enable_hstore_opt表级参数打开时会默认同时打开enable_hstore表级参数。该参数仅9.1.0.200及以上集群版本支持。

      默认值:false

    • enable_turbo_store

      用于控制是否创建为turbo表(基于列存表实现)。该参数只对列存表有效。该参数仅9.1.0.200及以上集群版本支持。

      默认值:off

    • mv_analyze_mode

      控制物化视图自动analyze的方式。该参数仅9.1.0.200及以上集群版本支持。

      取值范围:

      none,表示物化视图在刷新后不自动执行analyze。

      light,表示物化视图在刷新后执行light analyze。

      默认值:light

    • mv_pck_column

      物化视图的局部聚簇存储,列存表导入数据时按照指定的列(单列或多列),进行局部排序。该参数仅9.1.0.200及以上集群版本支持。

      开启mv_pck_column='指定列'。

    • mv_support_function_type

      开启物化视图创建时查询语句中可以使用的函数属性。该参数仅9.1.0.200及以上集群版本支持。

      取值范围:

      stable,表示支持在查询语句中使用类型为STABLE和IMMUTABLE的函数。

      volatile,表示支持在查询语句中使用类型为VOLATILE,STABLE和IMMUTABLE的函数。

      默认值:空

    • excluded_inactive_tables

      指定的基表发生数据变化不会失效该物化视图。该参数仅9.1.0.200及以上集群版本支持。

      设置方式为:excluded_inactive_tables='schemaName1.tableName1,schemaName2.tableName2'

      默认值:空

    • force_rewrite_timeout

      在刷新后的指定时间间隔内,可以查询重写,无论此物化视图数据是否新鲜。该参数仅9.1.0.200及以上集群版本支持。

      单位为秒,默认值:0。

  • TABLESPACE tablespace_name

    声明一个表空间。用于V3存储格式的创建,如果default_tablespace为空,将使用数据库的缺省表空间。该参数仅9.1.0.200及以上集群版本支持。

  • DISTRIBUTE BY

    指定表如何在节点之间分布或者复制。

    取值范围:

    • REPLICATION:表的每一行存在所有数据节点(DN)中,即每个数据节点都有完整的表数据。
    • ROUNDROBIN:表的每一行被轮番地发送给各个DN,因此数据会被均匀地分布在各个DN中。(ROUNDROBIN仅8.1.2及以上版本支持)
    • HASH:对指定的列进行Hash,通过映射,把数据分布到指定DN。

    默认值:由参数default_distribution_mode决定。

  • AS query

    基于query的结果创建物化视图。

support.huaweicloud.com/sqlreference-910-dws/dws_06_0357.html