有一句sql:
SELECT  a.Act_date,a.Train_No,a.St_Sta_Name,a.Ar_Sta_Name,a.Corp_bur,a.Long_id, star_date,stop_date  FROM  aa a ,bb b   WHERE a.Long_id!='0' and   a.act_date<='2007-10-25'  and   a.cmd_date=b.cmd_date  and  rtrim(a.cmd_id)=rtrim(b.cmd_id) and a.item_id=b.item_id  and a.item_sort = b.item_sort and a.train_no=b.train_no  order by a.train_no,a.cmd_date,a.cmd_id,a.item_id,a.item_sort,a.act_date;a表有6万数据,b表有6000数据,a.act_date varchar2(10);
查询非常慢,慢得无法忍受,因为a表90%都是2007-10-25前的,
如果改a.act_date<='2007-10-25'为to_date(a.act_date,'YYYY-MM-DD')<=to_date('2007-10-25','YYYY-MM-DD')就很快,为什么会这样的呢?