select *
from tabA
where exists (select 1 from tabB where (Word='csdn' or Word='msdn') and DocId=taba.DocId)

解决方案 »

  1.   

    大力,感觉差不多啊(就是一次执行的时候物理读和预读的次数好像有点差别,多运行几次就差不多一样了)
    (所影响的行数为 5217 行)表 'WebPage_tab'。扫描计数 1,逻辑读 4140 次,物理读 0 次,预读 0 次。
    表 'InvertedDoc_tab'。扫描计数 2,逻辑读 86 次,物理读 0 次,预读 0 次。
      

  2.   

    那我该怎么添加索引呢?
    我已经在word字段设置了cluster索引,分别在a,b表的docid字段设置了非cluster索引
      

  3.   

    在查询分析器中,写上查询语句:
    select *
    from tabA
    where DocId in 
    ( select DocId from tabB where ( Word='csdn' or Word='msdn') )按Ctrl+L,再按F5执行,看是否利用上了索引.
      

  4.   

    to  zjcxc(邹建) :请问怎么看有没有利用上索引啊?
      

  5.   

    select *
    from tabA
    where exists (select 1 from tabB where (Word='csdn' or Word='msdn') and DocId=taba.DocId)
      

  6.   

    select tabA.*
    from tabA, tabB
    where (tabB.Word='csdn' or tabB.Word='msdn') and tabA.DocId = tabB.DocId