日期:2014-05-17  浏览次数:21014 次

组合索引和单个索引的问题
SQL code
 
  SQL Statement from editor:
 
 
  select c0602 "商品编码",c0625 "商品条码",
  c0103 "商品名称",c0104 "规格",c0604 "配货件数",
  c0605 "配货数量",c0618 "计划赠品数",c0606 "实际出库数",
  c0621 "出库赠品数",c0610 "门店实收数",c0611 "实收赠品数",
  c0609 "剩余商品入库",c0622 "剩余商品报损"
  from c05 t1,c06,vc01 where c0501=c0601  and c0602=c0101
  and c0538
  between to_date('2009.1.1','yyyy-mm-dd') and to_date('2009.2.28','yyyy-mm-dd')
  ------------------------
   
  Statement Id=7  Type=TABLE ACCESS
  Cost=5  TimeStamp=20-04-10::16::21:23
 
      (1)  SELECT STATEMENT  CHOOSE
    Est. Rows: 23,043  Cost: 6,193
      (11)  MERGE JOIN
    Est. Rows: 23,043  Cost: 6,193
          (8)  SORT JOIN
                Est. Rows: 23,043  Cost: 1,366
              (7)  MERGE JOIN
                    Est. Rows: 23,043  Cost: 845
                  (3)  TABLE ACCESS BY INDEX ROWID FZDC.C06  [Analyzed]
                  (3)  Blocks: 34,464 Est. Rows: 2,411,508 of 2,411,508  Cost: 826
                        Tablespace: FZ_DAT
                      (2)  NON-UNIQUE INDEX FULL SCAN FZDC.IND_C0601  [Not Analyzed]
                            Est. Rows: 2,411,508  Cost: 26
                  (6)  SORT JOIN
                        Est. Rows: 668  Cost: 19
                      (5)  TABLE ACCESS BY INDEX ROWID FZDC.C05  [Analyzed]
                      (5)  Blocks: 7,944 Est. Rows: 668 of 406,159  Cost: 5
                            Tablespace: FZ_DAT
                          (4)  NON-UNIQUE INDEX RANGE SCAN FZDC.IND_C05_C0538  [Not Analyzed]
                                Est. Rows: 1  Cost: 2
          (10)  SORT JOIN
                Est. Rows: 305,274  Cost: 4,827
              (9)  TABLE ACCESS FULL FZDC.C01  [Analyzed]
              (9)  Blocks: 10,492 Est. Rows: 305,274 of 305,274  Cost: 1,594
                    Tablespace: FZ_DAT



c0601 c0602 分别建一个索引好呢。。。还是建一个组合索引好呢?就本题

------解决方案--------------------
可以做个试验比较下
我觉得组合索引比较好
------解决方案--------------------
统计信息,现在都建议使用 dbms_stats 这个包来收集了。

有个参数可以指定抽样分析,具体请 google