F.42. tsm_system_rows

tsm_system_rows模块提供表采样方法SYSTEM_ROWS,该方法可在SELECT命令的TABLESAMPLE子句中使用。

此表采样方法接受单个整数参数,该参数是要读取的最大行数。除非表没有足够的行,否则结果 samples 将始终恰好包含那么多的行,在这种情况下,将选择整个表。

像内置的SYSTEM采样方法一样,SYSTEM_ROWS执行块级采样,因此采样不是完全随机的,但是可能会受到聚类的影响,尤其是在仅要求少量行的情况下。

SYSTEM_ROWS不支持REPEATABLE子句。

F.42.1. Examples

这是使用SYSTEM_ROWS选择表 samples 的示例。首先安装扩展:

CREATE EXTENSION tsm_system_rows;

然后,您可以在SELECT命令中使用它,例如:

SELECT * FROM my_table TABLESAMPLE SYSTEM_ROWS(100);

此命令将从表my_table返回 100 行的 samples(除非该表没有 100 条可见行,在这种情况下将返回其所有行)。