SQL语句执行慢,怎么修改?

panyong 2011-08-18 10:25:31
SELECT 员工, count(完成状态) AS 完成量,sum(完成数) AS 合格数 FROM 表1 WHERE 表1_ID not in
(select 表1_ID from 表1 INNER JOIN 表2 ON 表1.ID = 表2.ID And 表1.机器号 = 表2.机器号 where and 含量<100 and 用量>0 AND 生产时间 between '2011-08-15 00:00:00' and '2011-08-15 23:59:59' group by 表1_ID)
and 完成数>0 AND 生产时间 between '2011-08-15 00:00:00' and '2011-08-15 23:59:59' GROUP BY 员工

现在运行下来很慢,请问各位大哥怎么把 NOT IN 修改成 EXISTS,这样是不是能快一点,要怎么写?



...全文
157 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningweidong 2011-08-21
  • 打赏
  • 举报
回复
你的语句太长,当然慢了
worldy 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 woodepany 的回复:]
SELECT 员工, count(完成状态) AS 完成量,sum(完成数) AS 合格数 FROM 表1 WHERE 表1_ID not in
(select 表1_ID from 表1 INNER JOIN 表2 ON 表1.ID = 表2.ID And 表1.机器号 = 表2.机器号 where and 含量<100 and 用量>0 AND 生产时间 between '2011-08-……
[/Quote]

在生产时间字段上设置索引
panyong 2011-08-20
  • 打赏
  • 举报
回复
帮自己顶一下呢!
咸清 2011-08-18
  • 打赏
  • 举报
回复
内层分组没有意义

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧