执行sql有时1秒,有时16秒很正常,如果你第一次执行,很有可能要16秒,当你执行后,oracle会把你执行的sql(执行计划)缓存,你再执行,可能就只需要1秒了,等缓存被别的你执行过的sql占用后,你的那条sql执行可能又要费时了!

解决方案 »

  1.   

    某表中数据条数差不多,比如都是大约十条左右,且结构一样,但是有时侯执行一下SQL语句只要1秒不到,有时候竟要16秒.
    个人认为相差是有,但是应该不会那么大!10条数据怎么会那么慢呢?一定有优化的地方!
    贴详细信息!
      

  2.   

    差别大的原因我想在表本身还有关系,
    你是删除其中的纪录的,表本身占用空间还在,索引什么的,查询需要一些额外的时间。
    也可能和索引有关系,需要看执行计划。
    如果可能可以:
    1、保存这些纪录,Truncate 这个表,然后纪录往这里加回去。
    2、分析这个表。  
      

  3.   

    /*
    Truncate 这个表,然后纪录往这里加回去
    */
    这样速度的确就从16S--->1S(十多条记录)
    SQL比较多,我认为有关的一部分就有150+吧,而且嵌套多,哪位达淫想看看.
    其实主要只设计两个表的逻辑:)
      

  4.   

    解决查询速度问题最好的办法是优化你的Sql语句,还有就是表的索引
    你可以把sql贴出来看看