set @a=N'a' 和 select @a=N'a' 哪种赋值效率高呢
在单个赋值的情况下,它们的速度是一样的
但是多个赋值的情况下,用select 赋值速度更快
---------------------------------------------------------------------------------------
取前几条数据时
set ROWCOUNT 2 select * from tb order by fd
select Top 2 * from tb order by fd
哪个效率更高呢,答案是一样,但rowcount写法上支持sql server 7.0以前的版本,
另外 select top @a 这样的语句不被支持,top 不支持直接传入参数,而set rowcount @a 这样是可以的,据说像 top @a 这样传入参数的问题在
sql server 2005里面已经得到解决
本文探讨了在SQL Server中使用SET与SELECT进行变量赋值的效率差异,并对比了使用ROWCOUNT与TOP进行数据截取的性能表现。指出在单个赋值情况下两者效率相当,但在多个赋值时SELECT更快;ROWCOUNT与TOP获取前几条记录的效率相同,但ROWCOUNT支持更旧版本。
1391

被折叠的 条评论
为什么被折叠?



