MATERIALIZED_VIEW_REFRESH_HISTORY¶
此表函数的用途是,查询指定日期范围内指定物化视图的 物化视图 刷新历史记录。函数返回的信息包括视图名称和每次刷新物化视图时使用的 Credit。
语法¶
MATERIALIZED_VIEW_REFRESH_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[ , DATE_RANGE_END => <constant_expr> ]
[ , MATERIALIZED_VIEW_NAME => '<string>' ] )
实参¶
所有实参均为可选。
DATE_RANGE_START => constant_expr
、.DATE_RANGE_END => constant_expr
显示物化视图维护历史记录的日期/时间范围。例如,如果指定开始日期为 2019 年 4 月 3 日,结束日期为 2019 年 4 月 5 日,则将获得 4 月 3 日、4 月 4 日和 4 月 5 日的数据。(包括端点。)
如果既未指定开始日期也未指定结束日期,则默认为过去 12 小时。
如果未指定结束日期,但指定了开始日期,则会使用午夜时的 CURRENT_DATE 作为范围结束日期。
如果未指定开始日期,但指定了结束日期,则范围从
DATE_RANGE_END
开始前 12 小时算起。
MATERIALIZED_VIEW_NAME => string
物化视图名称。如果指定了名称,则仅显示指定物化视图的历史记录。该名称可以包括架构名称和数据库名称。
如果未指定名称,则结果将包括在指定时间范围内维护的每个物化视图的数据。
使用说明¶
仅为 ACCOUNTADMIN 角色或任何已明确授予 MONITOR USAGE 全局权限的角色返回结果。
备注
具有 MONITOR USAGE 权限的角色可以查看每个对象的 Credit 使用情况,但不能查看对象名称。角色还必须获得对象的 SELECT 权限,以便此函数返回对象的名称。如果角色没有足够的权限来查看对象名称,则对象名称可能会显示为替代名称,例如“unknown_#”,其中“#”表示一个或多个数字。
当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema。
历史记录以 1 小时增量显示。
输出¶
该函数返回以下列:
列名称 |
数据类型 |
描述 |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
指定时间范围的开始时间。 |
END_TIME |
TIMESTAMP_LTZ |
指定时间范围的结束时间。 |
CREDITS_USED |
TEXT |
START_TIME 和 END_TIME 期间为物化视图维护计费的 Credit。 |
MATERIALIZED_VIEW_NAME |
TEXT |
物化视图的名称。 |
示例¶
检索账户一小时范围的刷新历史记录:
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>'2019-05-22 19:00:00.000', date_range_end=>'2019-05-22 20:00:00.000'));以下是输出示例:
+-------------------------------+-------------------------------+--------------+-----------------------------------------+ | START_TIME | END_TIME | CREDITS_USED | MATERIALIZED_VIEW_NAME | |-------------------------------+-------------------------------+--------------+-----------------------------------------| | 2019-05-22 19:00:00.000 -0700 | 2019-05-22 20:00:00.000 -0700 | 0.223276651 | TEST_DB.TEST_SCHEMA.MATERIALIZED_VIEW_1 | +-------------------------------+-------------------------------+--------------+-----------------------------------------+
检索账户过去 12 小时的历史记录:
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>dateadd(H, -12, current_timestamp)));
检索账户过去一周的历史记录:
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date));
检索账户中指定物化视图过去一周的维护历史记录:
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date, materialized_view_name=>'mydb.myschema.my_materialized_view'));