|
zpaul48 发表于 2011-9-5 16:17 ![]()
这种数据库查一列的值会快很多吗?
相对于行式数据库,列式数据库在只查询一列时会快,表的列数越多,则快得越多。
假设有一个200列的表,我们只查询出表中的第1列。对于行式数据库,数据是按行存储在数据文件中的,所以,为了读取表中的全部的第1 列,会遍历整个数据文件,找到第1 列的位置,就把数据取出,之后跳过后面的199列,再找到第1列的下一个值,取出,再路过后面的199列,这样,数据文件的IO很严重。对于列式数据库,数据是按列存储的,每个列的数据是放在连续的存储空间中的,第1列数据也是这样,所以只需要读取第1列所在的空间的数据即可,省去了其它199列数据的IO,性能当然会好很多。
|
|