select * from shuiylwdata 
 where (BankID='02' or
        BankID='03' or
        BankID='05' or
            BankID='07' or
        BankID='31') and to_char(transTime,'yyyy-mm') <='2004-03' ;
查看执行计划,看有没有使用索引

解决方案 »

  1.   

    我记得有一条优化规则:用in代替or
      

  2.   

    welyngj(不做老实人) 
    用到了索引,这个是关键,select 用了索引,那Delete 也用到的吧?有个问题就是 : 在Delete 的过程中,是使用索引删、然后重建快,
    还是将 4个索引都删了、然后删除数据、然后新建立索引 快 ??
    时间方面 也是我考虑的一个重要因素。