林宜鹤

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

原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

posted on 2010-04-30 16:40  林宜鹤  阅读(498)  评论(0)    收藏  举报