原SQL语句:SELECT TOP 10 * FROM [Order] WHERE [ID] NOT IN(SELECT TOP 6000 [ID] FROM [Order] ORDER BY [ID] DESC) ORDER BY [ID] DESC
我在SQLSERVER的查询分析器上运行上面的SQL语句,速度挺快,但我在ACCESS的查询上却让我的机子死机(接近死机,哈哈哈哈!)。
到底是我的SQL语句有问题呢还是其他原因?
初步分析,可能是ACCESS的NOT IN 这个地方的问题。
没办法,只能使用另一种分页方法:
现SQL语句:SELECT TOP 10 * FROM [Order] WHERE [ID]<(SELECT MIN([ID]) FROM (SELECT TOP 8000 [ID] FROM [Order] ORDER BY [ID] DESC) AS Temp) ORDER BY [ID] DESC
更改之后,不管在SQL SERVER或ACCESS上都飞快。
管他,先用吧,如果有朋友有更好的想法,大家讨论讨论。
原文网址:http://hi.baidu.com/jamte55/blog/item/ab2a5e45bc9f622dcefca356.html

浙公网安备 33010602011771号