1

从这个 wiki 页面: http ://en.wikipedia.org/wiki/Column-oriented_DBMS

我的印象是,面向列的数据库比索引的面向行的数据库更快地检索满足特定条件的记录的原因是由于映射。

也就是说,列的索引存储如下: 1:bot 2:human 3:bot

另一方面,面向列的数据库存储如下所示的列:bot:1,3 human:2

那么,为什么面向行的数据库不能像面向列的数据库那样做索引呢?

4

1 回答 1

1

数据库软件可以以一种以上的格式存储数据,而且通常是这样。例如,使用 SQL Server,您可以在同一个表上拥有基于列的索引和基于行的索引。因此,DBMS 必须决定选择一种格式而不使用另一种格式是不正确的。

事实上,即使使用基于行的索引,也可以轻松定义这样的索引。只需索引IsBot, ID(假设您的示例中的两列以这种方式命名)。该索引可以轻松满足对IsBot.

于 2014-06-21T22:38:57.123 回答