DYNAMIC_TABLES 函数:返回的最大行数的新默认值(待定)

注意

此行为变更在 2025_02 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

DYNAMIC_TABLES 函数的行为如下:

变更前:

默认情况下,未指定 RESULT_LIMIT 时,函数以未排序的顺序返回所有行。例如,如果一个账户有 10,000 个动态表,则该函数返回 10,000 行。

变更后:

默认情况下,函数返回 100 行,并且结果按动态表上次以以下顺序完成的刷新状态排序,除非使用 RESULT_LIMIT 实参另外指定。

  1. FAILED

  2. UPSTREAM_FAILED

  3. SKIPPED

  4. SUCCEEDED

  5. 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 ;
Copy

以下示例按不同的 name 顺序排序并返回所有行:

SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC ;
Copy

以下示例筛选所有目标滞后为 1 分钟的动态表,使用默认排序并返回所有行:

SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) WHERE TARGET_LAG_SEC = 60 ;
Copy

参考:1928

语言: 中文