各位大虾好!有一个select 查询速度问题请教大家。
我有一个表执行
select * from inp_bill_detail 
where billing_date_time>=to_date('2006-10-26','yyyy-mm-dd');
时速度很慢,好几秒都查不出来数据,而把>=改成<=时速度就快了,另在数据量差不多的有DATE类型字段其它表执行类似sql语句时都没问题,看数据也没问题,不知什么原因,请高手指点。

解决方案 »

  1.   

    你在前台先把日期格式化好可能会好点;
    例如在Delphi 里面XX := formatdatetime('YYYY-MM-DD',DtpLoanDate.Date);oracle 里面billing_date_time 是 VARCHAR2(10) 行么?
      

  2.   

    1、inp_bill_detail 数据有多大(10万以上,可以对 billing_date_time建立索引)
    2、麻烦楼主把执行计划看看,说不定两个表的执行计划不一样可以试以下:
    select /*+ rule */* from inp_bill_detail 
    where billing_date_time>=to_date('2006-10-26','yyyy-mm-dd');
      

  3.   

    建一个以billing_date_time为主的索引,然后进ORACLE控制平台,选中那张表,点右键分析一下表和新建的索引,速度应该会快很多
      

  4.   

    问题解决了,谢谢大家,inp_bill_detail billing_dtae_time原来就建索引了,分段先检索数据再做连接就快了.