传统行式数据库分而治之的思想

传统行式数据库为了避免产生大量的磁盘io,通过将数据切分成一个一个datapage,比如大小是4k,datapage中使用行最大的长度占位(即使只储存了一个字节的数据),计算出每个datapage可以容纳的行个数,并将每一行数据的索引列取出生成索引表,当读数据的时候只需要到索引表中取出数据所在的datapage,也就是说只进行了4k大小的io操作。
当发生数据增删改操作时,因为已经用行最大长度占位,避免了一行数据大小发生改变其后数据需要迁移,牺牲了储存提升效率。

猜你喜欢

转载自blog.51cto.com/14555883/2441076