这就是最快地存储过程?

beyondjay 2007-08-03 02:04:58
以下是号称最快的存储过程
Set Rowcount 100000
declare @id varchar(10)
select @ID=id from tbcj Order by id
print @id
Set Rowcount 10
Select * From tbcj Where id>=@ID Order By id
Set Rowcount 0
执行用了3秒

以下这个简单的,用了1秒不到
select top 10 * from tbcj
where id not in (select top 100000 id from tbcj)

我搞不懂了,是我的测试方法有问题还是被人忽悠了?
是不是select @ID=id from tbcj Order by id执行了太多次赋值导致的?
...全文
224 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rqrq 2007-08-03
  • 打赏
  • 举报
回复
不要用set rowcount,数据量多了会比较慢
SELECT TOP 10 * FROM tbcj
WHERE id > (SELECT MAX(id) FROM (SELECT TOP 100000 id FROM tbcj ORDER BY id) AS tblTEMP)
ORDER BY id
hy_huyang 2007-08-03
  • 打赏
  • 举报
回复
select @ID=id from tbcj Order by id
赋值 了很多次

not in 也不是很快,用not exists 应会更快

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧