|
刚才看到大菠萝的问题,突然联想到很多东西自己也不大明白,特开帖讨论。
普通索引,正向索引,逆向索引,ALLOW REVERSE SCANS索引……这些在运用起来有什么不同?为什么?
俺先说俺对索引的理解:索引不过是根据磁盘中数据与用户定义的列所创建的B+树,当使用时,根据优化器的请求将请求范围之间所有数据的RID返回(这里所说的是start/stop key predicate)
所以问题就来了,当创建了索引以后,对于B+树为什么还需要定义是否allow reverse scan呢?在其表面下隐藏了什么东西?
感觉普通的B+树应该完全支持从后往前或者从前往后的检索呀……
(这里俺说的意思是对于唯一的一个索引列,如果有多个索引列自然会有很大不同)
如果大家不赞同俺的理解或者是有什么新的想法欢迎跟帖讨论…… |
|