HetuEngine物化视图SQL示例
物化视图SQL示例请参考表1。
| 操作 | 功能 | 物化视图SQL样例 | 备注 |
|---|---|---|---|
| 创建物化视图 (创建物化视图时,只创建了物化视图的定义,数据填充需要使用refresh materialized view name刷新物化视图数据) | 创建永不过期的物化视图 | create materialized view mv.default.mv1 with(storage_table='hive.default.mv11') AS select id from hive.mvschema.t1; |
|
| 创建有效期为1天不启动自动刷新的物化视图 | create materialized view mv.default.mv1 with(storage_table='hive.default.mv11', mv_validity = '24h') AS select id from hive.mvschema.t1; | mv_validity:物化视图的有效期 | |
| 创建每小时自动刷新一次数据的物化视图 | create materialized view mv.default.mv1 with(storage_table='hive.default.mv1', need_auto_refresh = true, mv_validity = '1h', start_refresh_ahead_of_expiry = 0.2, refresh_priority = 3, refresh_duration = '5m') AS select id from hive.mvschema.t1; |
| |
| 列举物化视图 | 列举catalog名为“mv”,schema名为“mvschema”的所有物化视图 | show materialized views from mvschema; | mvschema是schema的名称,catalog固定为“mv” |
| 根据子句“LIKE”筛选视图名满足规则运算表达式的物化视图 | show MATERIALIZED VIEWs in mvschema tables like '*mvtb_0001'; | mvschema是schema的名称 | |
| 查询物化视图的创建语句 | 查询mv.default.mv1的物化视图创建语句 | show create materialized view mv.default.mv1; | mv1是物化视图的名称 |
| 查询物化视图 | 查询mv.default.mv1的数据 | select * from mv.default.mv1; | mv1是物化视图的名称 |
| 刷新物化视图 | 刷新mv.default.mv1的物化视图 | refresh materialized view mv.default.mv1; | - |
| 修改物化视图属性 | 修改mv.default.mv1的物化视图的属性 | Alter materialized view mv.mvtestprop.pepa_ss set PROPERTIES refresh_priority = 2; | refresh_priority = 2是物化视图的属性 |
| 修改物化视图状态 | 修改mv.default.mv1的物化视图的状态 | alter materialized view mv.default.mv1 set status SUSPEND; | SUSPEND是物化视图的状态,状态还包括:
仅支持ENABLE和SUSPEND相互转换,以及将DISABLE状态修改为SUSPEND或ENABLE |
| 删除物化视图 | 删除mv.default.mv1的物化视图 | drop materialized view mv.default.mv1; | - |
| 启用使用物化视图改写SQL进行优化 | 在session级别启用使用物化视图改写SQL进行优化 | set session materialized_view_rewrite_enabled=true; | - |
| 验证查询是否能通过改写成物化视图进行SQL优化 | 验证查询SQL语句能否被mv.default.mv1改写优化 | verify materialized view mvname(mv.default.mv1) originalsql select id from hive.mvschema.t1; | - |
| SQL级别使用指定的物化视图进行SQL改写优化 | 在查询中强制使用mv.default.mv1进行优化 | /*+ REWRITE(mv.default.mv1) */ select id from hive.mvschema.t1; | - |
| SQL级别禁用物化视图进行SQL改写优化 | 在查询中禁止物化视图进行优化 | /*+ NOREWRITE */ select id from hive.mvschema.t1; | - |
| 刷新物化视图元数据信息缓存 | 同步不同租户间物化视图元数据信息缓存 | refresh catalog mv; | - |