(1)select top 1 * from table where id = @id
(2)select * from table where id = @id
id是唯一的,即我每次查詢時這兩條語句都返回一條記錄,請問哪個語句效率高??
top n 是不是在查詢出來的數據再取n條記錄?

解决方案 »

  1.   

    select top 1 * from table where id = @id
    ----
    这条高,如果返回多条就看出来了~
      

  2.   

    top n 在查詢出n條記錄后就不再查,返回结果集
      

  3.   

    如果ID是惟一。两条效率是一样的。
    搂主可以分别进行这两个查询,然后查看查询执行计划就可以知道了还有建议尽量不要用Top,使用Top就意味着需要order by ,有order by 之后。在执行Top的操作。所以会增加开销。
      

  4.   

    应该是top吧
    不过就一条记录,应该看不出吧