类别:

系统函数 (系统信息)

SYSTEM$CLUSTERING_RATIO – 已弃用

根据表中的一列或多列计算表的群集比。该比率是介于 0100 之间的数字。比率越高,表的聚类效果越好。

表的群集比率可以使用表中的任何列或已明确定义为表的群集密钥的列进行计算。表的群集密钥可以使用 CREATE TABLEALTER TABLE 进行定义。

有关群集比率和群集密钥的更多信息,请参阅 了解 Snowflake 表结构

语法

SYSTEM$CLUSTERING_RATIO( '<table_name>' , '( <col1> [ , <col2> ... ] )' [ , '<predicate>' ] )
Copy

实参

table_name

要计算群集比率的表。

col1 [ , col2 ... ]

表中用于计算群集比率的列:

  • 对于没有群集密钥的表,必须使用此实参。如果省略此实参,将返回错误信息。

  • 对于具有群集密钥的表,此实参是可选的;如果省略此实参,Snowflake 将使用定义的群集密钥计算比率。

备注

无论是否为表定义了群集密钥,都可以使用此实参为表中的任何列计算比率。

predicate

该子句筛选要为其计算群集比率的列中的值范围。请注意,predicate 在子句的开头不使用 WHERE 关键字。

使用说明

  • 所有实参都是字符串(即它们必须放入单引号内)。

  • 如果 predicate 包含字符串,则该字符串必须放入单引号内,然后必须使用单引号对其进行转义。例如:

    SYSTEM$CLUSTERING_RATIO( ... , 'col1 = 100 and col2 = ''A''' )

示例

使用表中的两列计算表的群集比率:

SELECT SYSTEM$CLUSTERING_RATIO('t2', '(col1, col3)');

+-------------------------------+
| SYSTEM$CLUSTERING_RATIO('T2') |
|-------------------------------|
|                          77.1 |
+-------------------------------+
Copy

使用表中的两列和其中一列上的谓词计算表的群集比率:

SELECT SYSTEM$CLUSTERING_RATIO('t2', '(col1, col2)', 'col1 = ''A''');

+-------------------------------+
| SYSTEM$CLUSTERING_RATIO('T2') |
|-------------------------------|
|                          87.7 |
+-------------------------------+
Copy

使用为表定义的群集密钥计算表的群集比率:

SELECT SYSTEM$CLUSTERING_RATIO('t1');

+-------------------------------+
| SYSTEM$CLUSTERING_RATIO('T1') |
|-------------------------------|
|                         100.0 |
+-------------------------------+
Copy
语言: 中文