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

F.46. tsm_system_rows — TABLESAMPLE 的 SYSTEM_ROWS 采样方法 #

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

此表采样方法接受一个整数参数,该参数是读取的最大行数。结果样本将始终包含确切的行数,除非表中的行数不足,在这种情况下,将选择整个表。

与内置的 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 行可见行,在这种情况下,将返回其所有行)。

提交更正

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