有两张表tab1,tab2,其中tab2目前有11万多条数据,两表的数据仍然在不断的增加。tab2有三个索引,[vid],[vid,sfmid],[qt]select tab2.vid      from tab2  where tab2.vid=ls_tab1vid 的速度相当慢,应该如何优化呢

解决方案 »

  1.   

    能把你写的SQL写全了发上来吗??
      

  2.   

    就是简单的select 的SQL语句。
    有两张表tab1,tab2,其中tab2目前有11万多条数据,两表的数据仍然在不断的增加。 tab2有三个索引,[vid],[vid,sfmid],[qt] select tab2.vid      from tab2  where tab2.vid=ls_tab1vid and status >='0'
    的速度相当慢,应该如何优化呢 其中ls_tab1vid为一固定的值
      

  3.   

    这个sql语句已经够简单了。从sql上没有优化的可能了。
    只能从其他方面考虑了。
      

  4.   

    11万多条数据数据也不是特别多啊
    sql语句没有啥问题,sql运行很慢,应该从其他地方考虑吧。
      

  5.   


    11万的数据属于小数据量了。先看看你的执行计划再说。是不是没有走index。
      

  6.   

    因为oracle会根据它内部记录的一些信息来进行查询计划的执行,你的表经过多次的查询,重建等等操作,使的查询时就选不到这个索引了,重新分析后,会好一些,我理解的也不好,别拿砖拍我。