首页 > 解决方案 > 列式数据库的预期用途是什么?

问题描述

我有一个关于 Sybase 等列式数据库的问题。我知道当您的操作仅限于单个列并且不跨列时,列式数据库非常快,即没有基于行的过滤?

但大多数查询是两者的组合,过滤一些行,然后聚合一些列。

真的,列式数据库在哪里闪耀?

标签: sqldatabasesybase

解决方案


列式数据库绝对可以跨不同列访问数据。通过单独存储列,它们提供了一些基于行的存储所不具备的优势:

  • 他们只需要读取在特定查询中访问的列。
  • 它们使向表中添加新列变得容易。
  • 它们允许使用最适合该列的压缩算法来压缩单个列。
  • 它们有时为每一列提供内置索引。

所有这些都可以用来加速SELECT查询。

列式数据库的一个大问题是插入新行(或删除一行),因为这需要触及所有列。这使得确保 ACID 属性。. . 更棘手。

肯定有一些SELECT查询在列式数据库中可能不如在其他数据库中执行得那么好。但是它们在提高许多查询的性能方面做得非常好。


推荐阅读