我用的oracle8i,数据库中有一张表有100多万条记录,查询速度很快,我把数据库清空后,查询速度下降了几十倍,请问高手们,我该如何解决这个问题?

解决方案 »

  1.   

    针对查询对象使用到的表、索引等做一次Analyse.
      

  2.   

    1.建立索引
    2.analyze table tab_a estimate statistics:分析表使oracle以最优路径执行查询
      

  3.   

    1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 
    2、I/O吞吐量小,形成了瓶颈效应。 
    3、没有创建计算列导致查询不优化。 
    4、内存不足 
    5、网络速度慢 
    6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 
    7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)
    8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
      

  4.   

    SQL>set autotrace traceonly
    SQL>select ....看看执行计划再定吧.
      

  5.   

    其他方法解决不了的话,哈哈,重新安装ORALCE,绝对管用
      

  6.   

    yes ,首先执行计划,只有这样才能有针对性地优化.
    如果是8i调整一下sql也有不少涌出.