update a
where b='1'
and c='2'
and d='3'
update a
where b='1'
and d='3'
and c='2'索引是建立在C,D字段上

解决方案 »

  1.   

    有关如果索引是建立在多个列上, 只有在它的第一个列被where子句引用时,优化器才会选择使用该索引. 当仅引用索引的第二个列时,优化器使用了全表扫描而忽略了索引
      

  2.   

    要看你的表分析了没有走CBO,顺序不重要;走RBO, 顺序就重要
      

  3.   

    跟where条件顺序无关,因为9i以后默认都是RBO;跟索引顺序有关,正如1楼所说。
      

  4.   

    顺序无关。
    跟表的记录数有关,即和 select 语句的 selectivity (select 出来的记录数和表中总纪录的百分比)有关。
      

  5.   

    顺序无关。
    跟表的记录数有关,即和 select 语句的 selectivity (select 出来的记录数和表中总纪录的百分比)有关。
      

  6.   

    where中字段的顺序应该和索引的顺序一致才能用上索引