首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为什么微软建议用 TOP N 来代替 SET ROWCOUNT ?解决方案

2012-01-21 
为什么微软建议用 TOP N 来代替 SET ROWCOUNT ?微软的SQL2000的手册中注明,建议用TOPN,而不要用SETROWCOUN

为什么微软建议用 TOP N 来代替 SET ROWCOUNT ?
微软的SQL   2000的手册中注明,建议用TOP   N,而不要用SET   ROWCOUNT,这是为什么?谢谢!

另外,如果采用   TOP   N   的方式的话,这里的“N”必须是常量,而不能是变量。如果是变量的话,只能采用动态SQL语句,然后用EXEC的方式来执行,因此我想问的是,如果采用微软的建议,用动态SQL拼凑的语句和采用SET   ROWCOUNT的方式,哪种好些呢?谢谢!

[解决办法]
TOP N
[解决办法]
我常用的是Set ROWCOUNT 因为用习惯了.
你也可以用TOP n 既然建议是它我想它应该更好些.
[解决办法]
2005可以TOP(@变量)了
[解决办法]
TOP N 使用起来灵活方便多了,这就是好处

实际上 TOP N 和 SET ROWCOUNT 效率是一样的
[解决办法]
MS的电话90909不0,你问问他们.
[解决办法]
我估计是为了向后兼容,以后的版本可能会放弃SET ROWCOUNT。
[解决办法]
MS的电话90909不0,你问问他们.

-------------------

我打了 空号
[解决办法]
好高深的电话号码~
[解决办法]
有时候用SET ROWCOUNT也很方便
[解决办法]
2005可以TOP(@变量)
[解决办法]
只能采用动态SQL语句,然后用EXEC的方式来执行

======

动态 sql 相对损失性能,因为需要即时编译

热点排行