PostgreSQL 9.5.3 中文手册 | |||
---|---|---|---|
上一页 | 上一级 | 附录 F. 额外提供的模块 | 下一页 |
tsm_system_time模块提供了表抽样方法SYSTEM_TIME, 可以在SELECT命令的TABLESAMPLE子句中使用。
此表抽样方法接受单个浮点参数,该参数是读取表所花费的最大毫秒数。 这使您可以直接控制查询需要多长时间,以样品的尺寸变得难以预测为代价。 结果样本将包含在指定时间内可以读取的行数,除非已先读取了整个表。
与内置的SYSTEM采样方法一样,SYSTEM_TIME 执行块级采样,以便样本不是完全随机的,但可能受到聚类效应, 特别是如果只选择少量行时。
SYSTEM_TIME不支持REPEATABLE子句。
下面是使用SYSTEM_TIME选择表样本的示例。首先安装扩展:
CREATE EXTENSION tsm_system_time;
然后可以在SELECT命令中使用它,例如:
SELECT * FROM my_table TABLESAMPLE SYSTEM_TIME(1000);
此命令将返回my_table的样本,因为它可以在1秒(1000毫秒)内读取。 当然,如果整个表可以在1秒内读取,则将返回其所有行。