
- SAP HANA 管理員教程
- SAP HANA 管理員 - 首頁
- SAP HANA 管理員 - 概述
- 架構概述
- 多租戶資料庫
- 多個主機系統
- 工具
- 駕駛艙
- 工作室
- SAP HANA 管理員 - 系統管理
- 多租戶資料庫容器管理
- 啟動 HANA 系統
- 停止 HANA 系統
- 許可證金鑰
- 監控 HANA 系統
- SAP HANA 管理員 - 表管理
- SAP HANA 管理員 - 表分割槽
- SAP HANA 管理員 - 表複製
- 資料壓縮
- Solman 整合
- SAP HANA 管理員 - 生命週期管理
- 保護 HANA 系統
- 使用者配置
- 身份驗證方法
- 審計活動
- 備份 HANA 系統
- 恢復 HANA 系統
- HANA XS 應用服務
- 資料供應
- 智慧資料訪問
- 新建遠端系統連線
- 與 Hadoop 整合
- 關鍵命令
- 工作職責
- SAP HANA 管理員有用資源
- SAP HANA 管理員 - 快速指南
- SAP HANA 管理員 - 有用資源
- SAP HANA 管理員 - 討論
SAP HANA 管理員 - 表分割槽
使用分割槽,您可以將列儲存表分割成多個主機系統中的較小表。您甚至可以使用分割槽將表劃分為更小、更易於管理的部分。分割槽可以使用 DML SQL 語句完成。
當表被分割槽時,它包含每個部分的不同行集,並且可以基於不同的演算法進行分割槽——雜湊分割槽、單級或多級分割槽。
以下是使用表分割槽的好處:
分割槽剪枝
您可以確定是否可以在特定分割槽中分析查詢。使用此方法,您可以減少系統負載,從而提高響應時間。
示例 - 當您基於年份對錶進行分割槽時,將執行查詢以分析特定年份的資料。您可以使用特定分割槽,從而提高查詢效能。
負載均衡
您可以將各個分區劃分為多個主機,因此查詢不會由單個伺服器處理,從而在所有託管表分割槽的伺服器上實現更好的負載均衡。
大小限制
在列儲存表中,可以輸入的最大行數約為 20 億。您可以透過將列表的行分佈在多個分割槽上來克服此問題,因此每個分割槽的尺寸限制增加到 20 億。
改進的增量合併操作
在增量合併期間,如果僅修改某些分割槽的資料,則需要在增量合併中合併較少的分割槽。
查詢的並行處理
使用分割槽,您可以並行執行多個查詢,從而提高響應時間。
現在讓我們討論分割槽型別。
單級分割槽
SAP HANA 系統中提供了不同型別的單級分割槽:
- 雜湊分割槽
- 迴圈分割槽
- 範圍分割槽
在雜湊分割槽中,行均勻分佈以執行負載均衡。在此分割槽型別中,您不需要有關表內容的詳細資訊。
與雜湊分割槽相比,在迴圈分割槽中,行均勻分佈到每個分割槽,新行均勻分配到每個分割槽。
要使用迴圈分割槽建立表的 4 個分割槽,您可以使用以下 SQL 查詢。不應定義主鍵。
CREATE COLUMN TABLE TABLENAME (a INT, b INT, c INT) PARTITION BY ROUNDROBIN PARTITIONS 4
此命令將建立表的 4 個分割槽。

CREATE COLUMN TABLE Table_Name (a INT, b INT, c INT, PRIMARY KEY (a,b)) PARTITION BY HASH (a, b) PARTITIONS 4
這將在列a和b上建立 4 個分割槽,您需要指定至少一列。
範圍分割槽
在範圍分割槽中,您為某些值建立專用分割槽,並且您應該對分割槽列的表內容有深入的瞭解。
示例 - 為每個日曆月份建立一個分割槽。
CREATE COLUMN TABLE TABLE_NAME (a INT, b INT, c INT, PRIMARY KEY (a,b)) PARTITION BY RANGE (a) (PARTITION 1 <= VALUES < 10, PARTITION 10 <= VALUES < 20, PARTITION VALUE = 50, PARTITION OTHERS)
這將建立 4 個分割槽,第一個分割槽範圍為 1 到 10,第二個分割槽範圍為 10 到 20,第三個分割槽值為 50,第四個分割槽為所有其他值。
多級分割槽
在多級分割槽中,您可以克服 HASH 和 RANGE 單級分割槽的限制,以使用關鍵列作為分割槽列。使用多級分割槽,您可以對不是主鍵的列進行分割槽。最常見的多級分割槽型別是HASH-Range 分割槽。
在 Hash-Range 多級分割槽中,您在第一級實現雜湊分割槽以實現負載均衡,在第二級實現範圍分割槽以實現基於時間的分割槽。
CREATE COLUMN TABLE Table_name (a INT, b INT, c INT, PRIMARY KEY (a,b)) PARTITION BY HASH (a, b) PARTITIONS 4, RANGE (c) (PARTITION 1 <= VALUES < 10, PARTITION 10 <= VALUES < 20)
您可以使用迴圈分割槽代替在第一級使用雜湊分割槽,這被稱為迴圈-範圍多級分割槽。
CREATE COLUMN TABLE Table_name (a INT, b INT, c INT) PARTITION BY ROUNDROBIN PARTITIONS 4, RANGE (c) (PARTITION 1 <= VALUES < 10, PARTITION 10 <= VALUES < 20)