以下是号称最快的存储过程
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执行了太多次赋值导致的?
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执行了太多次赋值导致的?
赋值 了很多次not in 也不是很快,用not exists 应会更快
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