tsm_system_time
接受毫秒数限制的 TABLESAMPLE 方法
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
tsm_system_time | 1.0 | FUNC | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 4890 | tsm_system_time | 否 | 是 | 否 | 是 | 是 | 否 | - |
| 相关扩展 | random permuteseq tsm_system_rows pg_crash pg_idkit pgx_ulid pg_uuidv7 pg_hashids |
|---|
版本
| PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|
| 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
安装
提示:这是 PostgreSQL 内核自带的 contrib 扩展
CREATE EXTENSION tsm_system_time;
用法
提供 SYSTEM_TIME 表采样方法,在指定时间限制内返回尽可能多的行。
CREATE EXTENSION tsm_system_time;
TABLESAMPLE 方法
SYSTEM_TIME(milliseconds float) – 读取表的最大时间(毫秒)。
示例
-- 采样 1 秒内可读取的行
SELECT * FROM my_table TABLESAMPLE SYSTEM_TIME(1000);
-- 使用 500 毫秒预算从大表中采样
SELECT count(*) FROM large_table TABLESAMPLE SYSTEM_TIME(500);
执行块级采样(非行级)。如果整个表可以在时间限制内读完,则返回所有行。不支持 REPEATABLE。