数据库中的多维索引


10

哪些数据库使用实际的多维索引?oracle是否曾经使用多个索引从表中获取数据,还是会始终采用似乎具有最高选择性的索引?其他dbms怎么样?

Answers:


9

Oracle有一个称为位图索引的索引类型,它描述为...

数据库索引,数据库在其中存储每个索引键的位图,而不是行ID列表。

如果表具有位图索引或使用了提示,则它可以对常规B树索引使用位图访问计划位图索引可以连接,联合和相交。

use-the-index-luke.com上有一个很好的解释,其中包括组合多个B-Tree索引的以下实现:

DB2: DB2在LUW 9r7(使用动态位图)和zOS v10上支持多个索引访问 。

MySQL: MySQL 从版本5.0开始具有索引合并优化

Oracle Oracle数据库使用BITMAP CONVERSIONs快速组合多个索引(9i引入)。

PostgreSQL自版本8.1起, PostgreSQL使用位图来组合多个索引

SQL Server SQL Server可以使用哈希算法从V7.0开始使用多个索引(“索引相交”)

另请参阅此StackOverflow问题,其中第一个答案表示SQL Server使用索引交集执行与Bitmapped索引类似的操作。

针对复杂相似性查询的高效灵活的位图索引是我发现的将位图索引与单词多维关联的最接近参考。多维似乎是一种使用索引的方法,而不是它们的属性。



5

Oracle位图索引可能就是您要寻找的。Oracle索引类型

我认为他们允许合并和相交。但是我承认,我对它们不熟悉。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.