DYNAMIC_TABLES 函数:返回的最大行数的新默认值(待定)¶
DYNAMIC_TABLES 函数的行为如下:
- 变更前:
默认情况下,未指定 RESULT_LIMIT 时,函数以未排序的顺序返回所有行。例如,如果一个账户有 10,000 个动态表,则该函数返回 10,000 行。
- 变更后:
默认情况下,函数返回 100 行,并且结果按动态表上次以以下顺序完成的刷新状态排序,除非使用 RESULT_LIMIT 实参另外指定。
FAILED
UPSTREAM_FAILED
SKIPPED
SUCCEEDED
CANCELED
要按不同的顺序排序,您必须提供足够大的 RESULT_LIMIT 值(例如,带符号整数的最大值)。只要 RESULT_LIMIT 超过账户中动态表的总数,就可以使用 ORDER BY 子句存储结果。
要对结果应用筛选器,还要为应用于所有动态表的筛选器指定足够大的 RESULT_LIMIT 值。
示例:
以下示例按不同的
name
顺序排序并返回 100 行:SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC LIMIT 100 ;
以下示例按不同的
name
顺序排序并返回所有行:SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC ;
以下示例筛选所有目标滞后为 1 分钟的动态表,使用默认排序并返回所有行:
SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) WHERE TARGET_LAG_SEC = 60 ;
参考:1928