Redrock Postgres 搜索 英文
版本: 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

F.46. tsm_system_rows — TABLESAMPLESYSTEM_ROWS 采样方法 #

F.46.1. 示例

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

此表抽样方法接受一个整数参数,该参数是要读取的最大行数。结果样本将始终包含恰好那么多行,除非表中不包含足够的行,在这种情况下,将选择整个表。

与内置 SYSTEM 抽样方法类似,SYSTEM_ROWS 执行块级抽样,因此样本不是完全随机的,但可能会受到聚类效应的影响,尤其是在仅请求少量行的情况下。

SYSTEM_ROWS 不支持 REPEATABLE 子句。

此模块被认为是 可信,也就是说,它可以由具有当前数据库 CREATE 权限的非超级用户安装。

F.46.1. 示例 #

下面是使用 SYSTEM_ROWS 选择表样本的示例。首先安装扩展

CREATE EXTENSION tsm_system_rows;

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

SELECT * FROM my_table TABLESAMPLE SYSTEM_ROWS(100);

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