Foxtable(狐表)用户栏目专家坐堂 → 查询速度


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

主题:查询速度

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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
查询速度  发帖心情 Post By:2017/3/8 17:35:00 [只看该作者]

查询老生没报名,行数比较(3000)

方法1

Sel ect  学期,班级,b.学生编号,b.学生姓名 From {学生基本信息} a Inner JOIN {缴费信息} b ON a.学生编号 = b.学生编号 WHERE b.学期 = '2016年秋季' And b.学生编号 not In (Sel ect 学生编号 From {缴费信息} WHERE 学期 = '2017年春季')

方法2  这样查的速度非常快,这样可以吗?

Sel ect  学期,班级,b.学生编号,b.学生姓名 From ({学生基本信息} a Inner JOIN {缴费信息} b ON a.学生编号 = b.学生编号) LEFT JOIN(Se lect 学生编号 From {缴费信息} WHERE 学期 = '2017年春季') d ON b.学生编号 = d.学生编号 WHERE b.学期 = '2016年秋季' And d.学生编号 Is  Null


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 17:39:00 [只看该作者]

子查询都比较慢。一般的子查询都可以改成连接查询,如你的方法2

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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/3/8 20:04:00 [只看该作者]

谢谢

 回到顶部