9.3 9.4 9.5 9.6 10 11 12 13
阿里云PostgreSQL 问题报告 纠错本页面

F.41. tsm_system_time

tsm_system_time模块提供了表抽样方法SYSTEM_TIME, 可以在SELECT命令的TABLESAMPLE子句中使用。

此表抽样方法接受单个浮点参数,该参数是读取表所花费的最大毫秒数。 这使您可以直接控制查询需要多长时间,以样品的尺寸变得难以预测为代价。 结果样本将包含在指定时间内可以读取的行数,除非已先读取了整个表。

与内置的SYSTEM采样方法一样,SYSTEM_TIME 执行块级采样,以便样本不是完全随机的,但可能受到聚类效应, 特别是如果只选择少量行时。

SYSTEM_TIME不支持REPEATABLE子句。

F.41.1. 示例

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

CREATE EXTENSION tsm_system_time;

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

SELECT * FROM my_table TABLESAMPLE SYSTEM_TIME(1000);

此命令将返回my_table的样本,因为它可以在1秒(1000毫秒)内读取。 当然,如果整个表可以在1秒内读取,则将返回其所有行。

<
/BODY >