排序金鑰 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

排序金鑰

注意

建議您使用 SORTKEY AUTO 建立資料表。如果您這麼做,Amazon Redshift 會使用自動資料表最佳化來選擇排序索引鍵。如需詳細資訊,請參閱自動資料表最佳化。本節的其餘部分會提供有關排序順序的詳細資訊。

或者,建立資料表時,您可以定義一或多個資料欄做為排序索引鍵。當資料最初載入至空的資料表時,資料列會依排序儲存在磁碟上。排序索引鍵資料欄的相關資訊會傳遞至查詢規劃器,而且規劃器會使用此資訊,來建構利用資料排序方式的計劃。如需詳細資訊,請參閱CREATE TABLE。如需建立排序索引鍵時最佳作法的資訊,請參閱 選擇最佳的排序索引鍵

排序可以有效率地處理限制範圍的述詞。Amazon Redshift 將單欄式資料儲存在 1 MB 磁碟區塊中。每個區塊的 min 和 max 值都會儲存為中繼資料的一部分。如果查詢使用範圍受限的述詞,則查詢處理器可以使用 min 和 max 值,在資料表掃描期間快速地略過大量區塊。例如,假設資料表儲存了依日期排序的五年資料,而查詢指定了一個月的日期範圍。在這種情況下,您最多可以從掃描中移除 98% 的磁碟區塊。如果未排序資料,則必須掃描更多的磁碟區塊 (可能全部)。

您可以指定複合或交錯排序索引鍵。當查詢述詞使用字首,即依序的排序索引鍵子集時,複合排序索引鍵更有效。交錯排序索引鍵對排序索引鍵中的每個資料欄都提供相等的權重,所以查詢述詞可以使用構成排序索引鍵之資料欄的任何子集,順序不拘。

若要了解選擇的排序索引鍵對查詢效能的影響,請使用 EXPLAIN 命令。如需詳細資訊,請參閱查詢計劃和執行工作流程

若要定義排序類型,請將 INTERLEAVED或 COMPOUND關鍵字與 CREATETABLE或 CREATE TABLE AS 陳述式搭配使用。預設值為 COMPOUND。COMPOUND 當您定期使用 INSERT、 或 DELETE操作更新資料表時UPDATE,建議使用 。INTERLEAVED 排序索引鍵最多可使用八個資料欄。視您的資料和叢集大小而定, VACUUM REINDEX 會花費比 更長的時間,VACUUMFULL因為它會產生額外的傳遞來分析交錯的排序金鑰。交錯資料表的排序和合併操作可能需要更長的時間,因為交錯排序可能需要重新排列比複合排序更多的資料列。

若要檢視資料表的排序索引鍵,請查詢 SVV_TABLE_INFO 系統檢視。