Função DYNAMIC_TABLES: novo padrão para o número máximo de linhas retornadas¶
Atenção
Essa mudança de comportamento está no pacote 2025_02.
Para saber o status atual do pacote, consulte Histórico do pacote.
A função DYNAMIC_TABLES se comporta da seguinte maneira:
- Antes da mudança:
Por padrão, a função retorna todas as linhas em uma ordem não classificada quando RESULT_LIMIT não é especificado. Por exemplo, se uma conta tiver 10.000 tabelas dinâmicas, a função retornará 10.000 linhas.
- Após a mudança:
Por padrão, a função retorna 100 linhas e os resultados são classificados pelo último estado de atualização concluído da tabela dinâmica na seguinte ordem, a menos que especificado de outra forma usando o argumento RESULT_LIMIT.
FAILED
UPSTREAM_FAILED
SKIPPED
SUCCEEDED
CANCELED
Para classificar em uma ordem diferente, você deve fornecer um valor RESULT_LIMIT grande o suficiente (por exemplo, o valor máximo de um número inteiro assinado). Desde que RESULT_LIMIT exceda o número total de tabelas dinâmicas na conta, os resultados podem ser classificados usando uma cláusula ORDER BY.
Para aplicar um filtro nos resultados, especifique também um valor RESULT_LIMIT grande o suficiente para que o filtro seja aplicado em todas as tabelas dinâmicas.
Exemplos:
O exemplo a seguir classifica por uma ordem diferente de
name
e retorna 100 linhas:SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC LIMIT 100 ;
O exemplo a seguir classifica por uma ordem diferente de
name
e retorna todas as linhas:SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC ;
O exemplo a seguir filtra todas as tabelas dinâmicas com meta de atraso de 1 minuto, usa a classificação padrão e retorna todas as linhas:
SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) WHERE TARGET_LAG_SEC = 60 ;
Ref: 1928