Sql 位图索引是如何工作的?

Sql 位图索引是如何工作的?,sql,database,relational-database,oracle9i,Sql,Database,Relational Database,Oracle9i,是否有人可以帮助我获得位图索引和反转键索引的逻辑表示形式?反转键索引(在Oracle中)只是一个键反转的常规(B树)索引(1234变为4321)。如果添加递增键,这可能会防止索引不平衡。这也使得范围扫描变得不可能,所以你应该知道当你使用它时你在做什么 位图索引与B树索引完全不同。您可以将其视为每个键值的长位数组,每行有一个条目,如果行有此值,则设置为true,否则设置为false。这对于只有几个不同值的列(例如,只有男性、女性)来说效果更好(比B树索引)。您可以压缩这些位阵列,然后它们变得非常紧

是否有人可以帮助我获得位图索引和反转键索引的逻辑表示形式?

反转键索引(在Oracle中)只是一个键反转的常规(B树)索引(1234变为4321)。如果添加递增键,这可能会防止索引不平衡。这也使得范围扫描变得不可能,所以你应该知道当你使用它时你在做什么

位图索引与B树索引完全不同。您可以将其视为每个键值的长位数组,每行有一个条目,如果行有此值,则设置为true,否则设置为false。这对于只有几个不同值的列(例如,只有男性、女性)来说效果更好(比B树索引)。您可以压缩这些位阵列,然后它们变得非常紧凑,扫描速度非常快

位图索引的主要问题是需要大量的工作来更新它们,以便它们更适合仓库场景,在这种场景中,数据在夜间批量加载,然后在白天仅查询(而不更改)


Wikipedia也有一个很好的例子。

非常感谢你的帮助Thilo。。但是如果你能给我位图索引的逻辑图,那就太好了。我知道了。非常感谢。:-!))@Daniel。。非常感谢你的投票。我得到了你非常有趣的答案。:-)…希望你也能在PL/SQL方面帮助我。:-)