天天看點

列式存儲和行式存儲的差別列式存儲行式存儲 列式存儲的好處

目錄

列式存儲

行式存儲 

列式存儲的好處

以下表為例:

列式存儲和行式存儲的差別列式存儲行式存儲 列式存儲的好處

列式存儲

采用列式存儲時,資料在磁盤上的組織結構為:

列式存儲和行式存儲的差別列式存儲行式存儲 列式存儲的好處

可以看到每個字段的值都是按順序紮堆存儲在一起的,

好處:如果想查所有人的年齡隻需把年齡那一列拿出來就可以了,例如 select age from xxx

行式存儲 

采用行式存儲時,資料在磁盤上的組織結構為:

列式存儲和行式存儲的差別列式存儲行式存儲 列式存儲的好處

好處:想查某個人所有的屬性時,可以通過一次磁盤查找加順序讀取就可以。但是當想查所有人的年齡時,需要不停的查找,或者全表掃描才行,周遊的很多資料都是不需要的。

列式存儲的好處

  1. 對于列的聚合,計數,求和等統計操作原因優于行式存儲。
  2. 由于某一列的資料類型都是相同的,針對于資料存儲更容易進行資料壓縮,每一列選擇更優的資料壓縮算法,大大提高了資料的壓縮比重。
  3. 由于資料壓縮比更好,一方面節省了磁盤空間,另一方面對于 cache 也有了更大的發揮空間。