SAP HANA 行儲存和列儲存表


SAP HANA 模型檢視只能在基於列的表的頂部建立。在列表中儲存資料並不是什麼新鮮事。早些時候,人們認為在基於列的結構中儲存資料會佔用更多的記憶體空間,並且沒有效能最佳化。

隨著 SAP HANA 的發展,HANA 在資訊檢視中使用了基於列的資料儲存,並展示了列儲存表相對於基於行的表的真正優勢。

列儲存

在列儲存表中,資料垂直儲存。因此,類似的資料型別會像上面示例中顯示的那樣組合在一起。它藉助記憶體計算引擎提供了更快的記憶體讀取和寫入操作。

在傳統資料庫中,資料以基於行的結構(即水平)儲存。SAP HANA 以基於行和基於列的結構儲存資料。這在 HANA 資料庫中提供了效能最佳化、靈活性和資料壓縮。

在基於列的表中儲存資料具有以下優點:

  •  資料壓縮
  • 與傳統的基於行的儲存相比,對錶的讀取和寫入訪問速度更快
  • 靈活性和並行處理
  • 以更高的速度執行聚合和計算

功能差異 - 行儲存與列儲存


如果 SQL 語句必須執行聚合函式和計算,則始終建議使用基於列的儲存。當執行 Sum、Count、Max、Min 等聚合函式時,基於列的表始終表現更好。

當輸出必須返回完整行時,首選基於行的儲存。以下示例使您更容易理解。

在使用 Where 子句在 sales 列中執行聚合函式 (Sum) 時,它將僅使用 Date 和 Sales 列來執行 SQL 查詢,因此,如果它是基於列的儲存表,則由於只需要來自兩列的資料,因此將最佳化效能,速度更快。

在執行簡單的 Select 查詢時,必須在輸出中列印整行,因此建議在此場景中將表儲存為基於行的表。


更新於: 2020年6月18日

2K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.