SAP HANA 行儲存和列儲存表
SAP HANA 模型檢視只能在基於列的表的頂部建立。在列表中儲存資料並不是什麼新鮮事。早些時候,人們認為在基於列的結構中儲存資料會佔用更多的記憶體空間,並且沒有效能最佳化。
隨著 SAP HANA 的發展,HANA 在資訊檢視中使用了基於列的資料儲存,並展示了列儲存表相對於基於行的表的真正優勢。
列儲存
在列儲存表中,資料垂直儲存。因此,類似的資料型別會像上面示例中顯示的那樣組合在一起。它藉助記憶體計算引擎提供了更快的記憶體讀取和寫入操作。
在傳統資料庫中,資料以基於行的結構(即水平)儲存。SAP HANA 以基於行和基於列的結構儲存資料。這在 HANA 資料庫中提供了效能最佳化、靈活性和資料壓縮。
在基於列的表中儲存資料具有以下優點:
- 資料壓縮
- 與傳統的基於行的儲存相比,對錶的讀取和寫入訪問速度更快
- 靈活性和並行處理
- 以更高的速度執行聚合和計算
功能差異 - 行儲存與列儲存
如果 SQL 語句必須執行聚合函式和計算,則始終建議使用基於列的儲存。當執行 Sum、Count、Max、Min 等聚合函式時,基於列的表始終表現更好。
當輸出必須返回完整行時,首選基於行的儲存。以下示例使您更容易理解。
在使用 Where 子句在 sales 列中執行聚合函式 (Sum) 時,它將僅使用 Date 和 Sales 列來執行 SQL 查詢,因此,如果它是基於列的儲存表,則由於只需要來自兩列的資料,因此將最佳化效能,速度更快。
在執行簡單的 Select 查詢時,必須在輸出中列印整行,因此建議在此場景中將表儲存為基於行的表。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP