支持的版本:当前 (17) / 16 / 15 / 14 / 13
开发版本:devel
不支持的版本: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 行可见行,在这种情况下,将返回其所有行)。

提交更正

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