gpt4 book ai didi

database - 为什么基于列的数据库查询速度更快?

转载 作者:搜寻专家 更新时间:2023-10-30 22:26:40 26 4
gpt4 key购买 nike

我正在研究用于新数据库的方法,该数据库将用于我们的新应用程序。数据量不会像 1 亿条记录那样庞大,但在归档之前将有大约 1000 万条记录。对这么多数据使用基于列的方法会比基于行的数据库更有用吗?为什么基于列的数据库查询速度更快?

最佳答案

本质上,面向行和面向列的数据库之间的主要区别在于它们用于序列化数据的模型。面向行的数据库将每一行中的数据存储为连续的 block 。面向列的数据库将每个 的数据存储在连续的 block 中。此外,这些 block 通常经过压缩和排序。

因此,性能差异实际上取决于查询类型。使用较少 I/O 寻道的查询将执行得更快,并且从连续 block 读取是一次寻道。因此,如果您的查询依赖于对一列(或多列)的聚合或排序,那么列存储可以执行得更快,因为在最佳条件下读取列中的所有值可以是一次查找。如果您的查询是基于索引列(如客户 ID)在巨大的客户表中搜索少量客户记录,那么行存储数据库实际上可能更快。

关于database - 为什么基于列的数据库查询速度更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50474113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com