2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5

F.46. tsm_system_rows — TABLESAMPLE 的 SYSTEM_ROWS 取樣方法 #

tsm_system_rows 模組提供了 SYSTEM_ROWS 表取樣方法,該方法可用於 SELECT 命令的 TABLESAMPLE 子句中。

此表取樣方法接受一個整數引數,該引數是讀取的最大行數。結果樣本將始終包含確切的行數,除非表中的行數不足,在這種情況下,將選擇整個表。

與內建的 SYSTEM 取樣方法一樣,SYSTEM_ROWS 執行塊級取樣,因此樣本不是完全隨機的,但可能會受到聚類效應的影響,尤其是在請求的行數很少時。

SYSTEM_ROWS 不支援 REPEATABLE 子句。

此模組被認為是受信任的,這意味著非超級使用者也可以在其擁有的資料庫上安裝它,前提是他們具有 CREATE 許可權。

F.46.1. 示例 #

以下是使用 SYSTEM_ROWS 選擇表樣本的示例。首先安裝擴充套件

CREATE EXTENSION tsm_system_rows;

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

SELECT * FROM my_table TABLESAMPLE SYSTEM_ROWS(100);

此命令將從 my_table 表中返回 100 行樣本(除非該表沒有 100 行可見行,在這種情況下,將返回其所有行)。

提交更正

如果您在文件中看到任何不正確的內容、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。