如果一个表(几十个字段)数据有20亿条,如果查询这个表的语句如下
select  * from t where t.empno=:b 
对b字段创建分区索引是否比创建普通索引性能要好,为什么?如果快都体现在哪些方面,谢谢。

解决方案 »

  1.   

    由于大的索引段分割成很多小的索引段后,至少在索引查找的时候提高一些性能吧?取表的数据应该是一样的吧?(都是根据rowid取)
      

  2.   

    我认为应该是分区索引会略微快一点,但估计区别很小。
    20亿记录的表的索引,块8k的话,不分区的索引高度估计在5-6,如果对empno列上的索引分区,查询的时候直接就能定位到是哪一个分区索引段,而分区的索引高度一般都会比不分区的低一点(如果你就分成两个分区而且还很不均衡的话就看具体的值了)。不对请拍!