- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$CLUSTERING_DEPTH¶
Calcula a profundidade média da tabela de acordo com as colunas especificadas (ou a chave de clustering definida para a tabela). A profundidade média de uma tabela preenchida (ou seja, uma tabela contendo dados) é sempre 1 ou mais. Quanto menor a profundidade média, mais bem clusterizada é a tabela em relação às colunas especificadas.
Para obter mais informações sobre micropartições e chaves de clustering, consulte Explicação das estruturas de tabela do Snowflake.
- Consulte também:
Sintaxe¶
SYSTEM$CLUSTERING_DEPTH( '<table_name>' , '( <col1> [ , <col2> ... ] )' [ , '<predicate>' ] )
Argumentos¶
table_nameTabela para a qual você deseja calcular a profundidade de clustering.
col1 [ , col2 ... ]Coluna(s) na tabela utilizada(s) para calcular a profundidade do clustering:
Para uma tabela sem chave de clustering, este argumento é necessário. Se este argumento for omitido, um erro é devolvido.
Para uma tabela com uma chave de clustering, este argumento é opcional; se o argumento for omitido, o Snowflake usa a chave de clustering definida para calcular a profundidade.
Nota
Você pode usar este argumento para calcular a profundidade de qualquer coluna da tabela, independentemente da chave de clustering definida para a tabela.
predicateCláusula que filtra o intervalo de valores nas colunas nas quais se calcula a profundidade de clustering. Observe que
predicatenão utiliza uma palavra-chave WHERE no início da cláusula.
Notas de uso¶
Todos os argumentos são cadeias de caracteres (ou seja, devem ser colocados entre aspas simples).
Se
predicatecontém uma cadeia de caracteres, a cadeia de caracteres deve ser delimitada por aspas simples, que então devem ser escapadas usando aspas simples. Por exemplo:SYSTEM$CLUSTERING_DEPTH( ... , 'col1 = 100 and col2 = ''A''' )
Exemplos¶
Calcular a profundidade de clustering para uma tabela usando a chave de clustering definida para a tabela:
SELECT SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS'); +----------------------------------------+ | SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS') | |----------------------------------------+ | 2.4865 | +----------------------------------------+
Calcular a profundidade de clustering para uma tabela usando duas colunas na tabela:
SELECT SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)'); +----------------------------------------------------+ | SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)') | +----------------------------------------------------+ | 23.1351 | +----------------------------------------------------+
O mesmo que o exemplo anterior, mas com um predicado em uma das colunas:
SELECT SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)', 'C2 = 25'); +----------------------------------------------------+ | SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)') | +----------------------------------------------------+ | 11.2452 | +----------------------------------------------------+