Foxtable(狐表)用户栏目专家坐堂 → 多表联合查询where条件的问题


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

主题:多表联合查询where条件的问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 20:31:00 [显示全部帖子]

union all 会生成一个临时表,把所需的数据填充到这个表格的,数据量越大,肯定就越慢。

 

你现在这种情况,就动态合成sql语句呗。定义好每个表对应的日期字段分别是什么,然后分别合成select语句加上where条件,最后union。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/28 11:31:00 [显示全部帖子]

是要分别判断在where那里合成不同条件的,把所有sql语句最后union在一起运行即可。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/28 13:32:00 [显示全部帖子]

你现在这样做有什么问题?字符串无法合并起来?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/28 18:06:00 [显示全部帖子]

以下是引用HappyFt在2018/6/28 17:44:00的发言:
做是做出来了,为什么先where查询后再union所有表的速度与全部表union后后再where的速度差不多呢?

 

数据量相差多少?假如全部表数据有100万行,加入where条件后是100行数据,运行看速度变化。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/28 21:56:00 [显示全部帖子]

如果执行 1199条/1秒内 的话,说明没有区别。

 

耗时不在where条件,而在拷贝数据到临时表那个操作。因为20万条的时候耗时较多。

 

一般在foxtable显示的时候,不需要全部显示过来吧?如果只是显示少量,加上top取少量数据试试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/28 23:07:00 [显示全部帖子]

如果加入where条件变慢,试试设置【索引】


 回到顶部