TABLESAMPLE
的 SYSTEM_TIME
采样方法 #tsm_system_time
模块提供了 SYSTEM_TIME
表采样方法,该方法可以在 SELECT
命令的 TABLESAMPLE
子句中使用。
此表采样方法接受一个单精度浮点数参数,该参数表示读取表时的最大毫秒数。这使您可以直接控制查询执行时间,但代价是样本大小难以预测。结果样本将包含在指定时间内可以读取的行数,除非整个表已先被读取。
与内置的 SYSTEM
采样方法类似,SYSTEM_TIME
执行块级采样,因此样本并不完全随机,可能受到集群影响,尤其是在只选择少量行时。
SYSTEM_TIME
不支持 REPEATABLE
子句。
此模块被认为是 “可信的”,这意味着非超级用户可以在拥有当前数据库的 CREATE
权限的情况下安装它。
以下是如何使用 SYSTEM_TIME
选择表样本的示例。首先安装扩展
CREATE EXTENSION tsm_system_time;
然后您可以在 SELECT
命令中使用它,例如
SELECT * FROM my_table TABLESAMPLE SYSTEM_TIME(1000);
此命令将返回在 1 秒(1000 毫秒)内可以读取的 my_table
的样本。当然,如果整个表可以在 1 秒内读取,则将返回所有行。
如果您发现文档中存在任何错误,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。