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);
此命令將傳回 my_table
的一個大型樣本,該樣本可以在 1 秒(1000 毫秒)內讀取。 當然,如果可以在 1 秒內讀取整個表格,則將傳回其所有列。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單回報文件問題。