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

解决方案 »

  1.   

    select tab2.vid      from tab2  where tab2.vid=ls_tab1vid
    这里和table1有关系吗?分析一下执行计划,看看有没有走索引vid
      

  2.   


    最后tab2.vid=ls_tab1vid是什么意思,ls_tab1vid是一个字段么。先看看你的查询计划。
      

  3.   

    没能使用上索引的原因很多,以下几个角度分析:1.索引的构建的正确性
    2.数据检索的比例
    3.检索SQL的正确性,表的结合方式
    4.函数
    5.使用HIT从你的描述看不出太多问题,如果是vid索引 + select vid from TB where vid = ? 的单纯组合应该能够使用上的。
      

  4.   

    select tab2.vid      from tab2  where tab2.vid=ls_tab1vid 的速度相当慢,应该如何优化呢 
    ????????有些看不明白
    ls_tab1vid 是什么?
      

  5.   

    没啥可优化的,因为你的SQL很简单了
      

  6.   

    没能使用上索引的原因很多,以下几个角度分析: 1.索引的构建的正确性 
    2.数据检索的比例 
    3.检索SQL的正确性,表的结合方式 
    4.函数 
    5.使用HIT 从你的描述看不出太多问题,如果是vid索引 + select vid from TB where vid = ? 的单纯组合应该能够使用上的。