2024年9月26日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:开发版
不受支持的版本:11 / 10 / 9.6 / 9.5

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

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

此表采样方法接受一个整数参数,表示要读取的最大行数。生成的样本始终包含正好这么多行,除非表中没有足够的行,在这种情况下,将选择整个表。

与内置的 SYSTEM 采样方法类似,SYSTEM_ROWS 执行块级采样,因此样本并非完全随机,可能受到聚类效应的影响,尤其是在仅请求少量行时。

SYSTEM_ROWS 不支持 REPEATABLE 子句。

此模块被认为是“受信任的”,也就是说,非超级用户如果在当前数据库上具有 CREATE 权限,则可以安装它。

F.44.1. 示例 #

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

CREATE EXTENSION tsm_system_rows;

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

SELECT * FROM my_table TABLESAMPLE SYSTEM_ROWS(100);

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

提交更正

如果您在文档中看到任何不正确的内容、与您对特定功能的体验不符的内容或需要进一步说明的内容,请使用此表单 报告文档问题。