希赛考试网
首页 > 软考 > 软件设计师

按行存储按列存储公式

希赛网 2023-12-16 09:06:49

按行存储和按列存储是常见的数据库存储结构之一,那么如何表示它们呢?

按行存储

按行存储又称为记录存储,数据按行存放,即每一行表示一条记录,每列表示该记录的一个属性。这种存储方式适合于表格输入和输出操作。在按行存储中,如果要操作一条记录,需要先读取这条记录的所有属性才能进行操作。它的优点是读取单条记录时效率高,因为顺序读取和快速定位记录比较容易,而它的缺点是对于批量查询时,性能相对较差,因为需要每次都读取所有记录。

按列存储

按列存储又称为列存储,数据按列取存储,即每一列表示数据表的一个属性,每行表示该属性的一个取值。这种方式适合于统计分析类的操作,例如计算平均值、求和、统计个数等,也适合于复杂查询操作。在按列存储中,每个列单独进行压缩和编码,比如,可以采用基于字典编码或者基于位图编码等方式来压缩,因此它可以极大地提高查询的效率。列存储的优点是对于批量查询时能够大幅提高查询效率,缺点是读取单条记录时效率较低。

按行存储与按列存储的公式

按行存储和列存储都可以表示为以下公式:

行存储:R(i,j) 表示第 i 行第 j 列的数据;

列存储:C(j,i) 表示第 j 列第 i 行的数据。

在这里,我们可以看到 R 和 C 的顺序是反过来的,这是因为按行存储是按行读取的,需要先读取第 i 行,然后再读取第 j 列的数据;而按列存储是按列读取的,需要先读取第 j 列,然后再读取第 i 行的数据,两个存储方式的读取方式正好相反。因此,行列的顺序需要反过来。

行存储与列存储的比较

1.性能方面:按列存储在统计分析类的查询上性能优于按行存储,而在单条记录查询或写操作时,按行存储效率高于按列存储。

2.存储空间:按列存储在压缩和编码上有一定优势,因此相对于按行存储,它所需的存储空间更少。

3.扩展性:按列存储具有更好的扩展性,因为新属性(即列)只需要添加到已有的列集合中即可,而按行存储则需要添加新行。

4.复杂查询:按列存储更适合复杂查询操作,因为多个列可以合并和查询,而按行存储则需要合并多个行,效率较低。

5.数据的更新和插入:按行存储更新和插入效率更高,因为只需要更新或插入某行数据即可,而按列存储需要插入新列,且更新需要先读取对应的列才能修改。

综上所述,按列存储对于统计分析型的应用更为合适,而按行存储对于事务型应用更为合适。在数据仓库、OLAP等领域中,一般采用按列存储的方式,而在数据备份、数据恢复、事务处理等领域中,一般采用按行存储的方式。

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件