查询语句:
1、select top 10 a.f,b.f1 from a inner join  b on a.bid = b.id where a.c=1
2、select top 10 f,(select f1 from b where id=t.bid) as f1 from a t where c=1这两个语句那个效率好些?如果在更新b表可能出现死锁吗? b表的数据量很大id建了索引

解决方案 »

  1.   

    1、二者不等价,严格意义上第二个SQL有误2、不会死锁
      

  2.   

    嗯 libin_ftsafe(子陌红尘) 正解
      

  3.   

    如果这两个返回的记录都是一样的,哪个会快些?
    -------------------------------------------------------------------
    把SQL语句提交到查询分析器中执行,查询计划会告诉你。
      

  4.   

    inner join 是先top 10 再连接,还是连接好了再top 10
      

  5.   

    应该是 inner join  效果好些
      

  6.   

    1、select top 10 a.f,b.f1 from a inner join  b on a.bid = b.id where a.c=1
    2、select top 10 f,(select f1 from b where id=t.bid) as f1 from a t where c=1应该是第一个效率快些,如果你索引建的 的当 的话更新时不会死锁