Foxtable(狐表)用户栏目专家坐堂 → [讨论]这段sql查询特慢呢?


  共有4460人关注过本帖树形打印复制链接

主题:[讨论]这段sql查询特慢呢?

帅哥哟,离线,有人找我吗?
jspta
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/11/7 16:39:00 [显示全部帖子]

可能数据太大了,in语句在执行效率会降低很多。

无论从安全性还是效率上,Access 都是不行的


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/11/7 16:48:00 [显示全部帖子]

count(*) 这个改成 count([_Identify])试试,应该不会这么慢的

 

使用

ExecuteScalar

 

你把返回的代码贴出来看看


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/11/7 16:58:00 [显示全部帖子]

SELECT count(*) FROM {B} WHERE [ID] In (Select [ID] FROM {A} where ([year] = 2013 and [period] <= 9 )) 

 

改成

 

select count(*) from b inner join a on b.id = a.id where a.year = 2013 and a.period <= 9

或者

 

select count(*) from b inner join (Select [ID] FROM {A} where ([year] = 2013 and [period] <= 9 )) C  on b.id = c.id 

 

可以试试这两个语句

 


 回到顶部