行式存储:
优点:数据被保存在一起了,insert和update更加容易
缺点:选择(selection)时即时只涉及某几列,所有数据也都会被读取
列式存储:
优点:查询时只有涉及到的列会被读取;投影(projection)很高效;任何列都能作为索引
缺点:选择完成时,被选择的列要重新组装,insert/update会比较麻烦
https://blog.csdn.net/wyqwilliam/article/details/81063343
----------------
列式存储和行式存储
首先我们看一下一张表的存储格式
1.1 行式存储
1.2 列式存储
1.3列式存储和行式存储的比较
行式存储
优点:
相关的数据是保存在一起,比较符合面向对象的思维,因为一行数据就是一条记录
这种存储格式比较方便进行INSERT/UPDATE操作
缺点:
如果查询只涉及某几个列,它会把整行数据都读取出来,不能跳过不必要的列读取。当然数据比较少,一般没啥问题,如果数据量比较大就比较影响性能
由于每一行中,列的数据类型不一致,导致不容易获得一个极高的压缩比,也就是空间利用率不高
不是所有的列都适合作为索引
列式存储
优点:
查询时,只有涉及到的列才会被查询,不会把所有列都查询出来,即可以跳过不必要的列查询
高效的压缩率,不仅节省储存空间也节省计算内存和CPU
任何列都可以作为索引
缺点:
INSERT/UPDATE很麻烦或者不方便
不适合扫描小量的数据