首页新闻找找看学习计划

同样的分页SQL 语句SQL server 里面很快,ACCESS 卡住了求助

0
[已关闭问题] 关闭于 2012-09-04 13:10

分页SQL 

select top 7 id,title,senddate from infor where 1=1 and id not in (select top 7 id from infor order by id desc) order by id desc

hamigua的主页 hamigua | 初学一级 | 园豆:4
提问于:2012-08-21 11:15
< >
分享
所有回答(3)
0

2个原因:

1。access本身就是比sqlserver效率差很多

2,not in 的效率本身就是差,使用在access 上就更差了

jason2013 | 园豆:1998 (小虾三级) | 2012-08-21 11:30

很奇怪,我把最后的order by 去掉速度还是可以的

支持(0) 反对(0) hamigua | 园豆:4 (初学一级) | 2012-08-21 11:31

@hamigua: 你可以先把查询到数据放到  DataSet。 然后用 linq 在 继续操作 排序什么的、、、

支持(0) 反对(0) Mundo Novo | 园豆:82 (初学一级) | 2012-08-21 16:21
0

用in操作还不如连接操作的效率高。

可以先求连接,然后去掉不符合条件的。

可以在连接字段上创建索引,这样效率会高一点。

xwdreamer | 园豆:144 (初学一级) | 2012-08-21 23:05
0

不要用not in , 

可以用CTE查询试试,或者在经常查询的字段上建立索引。

you know what it is | 园豆:241 (菜鸟二级) | 2012-08-22 08:36

一开始也以为是NOT IN 问题,但是发现我只要把select top 7 id,title,senddate from infor where 1=1 and id not in (select top 7 id from infor order by id desc) order by id desc  最后的order by 语句去掉就可以了?为什么

支持(0) 反对(0) hamigua | 园豆:4 (初学一级) | 2012-08-22 20:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册