- 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_name
Tabela 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.
predicate
Cláusula que filtra o intervalo de valores nas colunas nas quais se calcula a profundidade de clustering. Observe que
predicate
nã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
predicate
conté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 | +----------------------------------------------------+