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);
此命令將返回 my_table
表中能在 1 秒(1000 毫秒)內讀取到的最大樣本。當然,如果整個表能在 1 秒內讀取完畢,則會返回所有行。
如果您在文件中看到任何不正確、與您使用該功能時的實際體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。