免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3705 | 回复: 7
打印 上一主题 下一主题

请教一个sql语句优化的问题 [复制链接]

回帖奖励 10 可用积分 回复本帖可获得 10 可用积分奖励! 每人限 1 次

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-09-06 13:39 |只看该作者 |倒序浏览
本人小白,请教个sql语句优化的问题

SQL:
  1. select platform, user_name, min(user_ip) ip, min(login_time) time from ( select * from login_201510 union all select * from login_201511 union all select * from login_201512 union all select * from login_201601 union all select * from login_201602 union all select * from login_201603 union all select * from login_201604 union all select * from login_201605 union all select * from login_201606 ) t where user_name is not null group by platform, user_name having min(login_time) >= unix_timestamp('2011-01-01') + -3600 and min(login_time) < unix_timestamp('2016-07-01') + -3600 limit 100;
复制代码

其中 UNION ALL 这块
  1. select * from login_201510 union all select * from login_201511 union all select * from login_201512 union all select * from login_201601 union all select * from login_201602 union all select * from login_201603 union all select * from login_201604 union all select * from login_201605 union all select * from login_201606
复制代码
执行约26秒,有960W左右记录数,但是整体执行会error~~ ENGINE=BRIGHTHOUSE ,有人能点拨一下吗?谢谢!

论坛徽章:
146
2015年亚洲杯之日本
日期:2015-04-28 13:32:012015年亚洲杯之朝鲜
日期:2015-05-06 10:16:442015年亚洲杯之日本
日期:2015-05-06 10:21:342015年亚洲杯纪念徽章
日期:2015-05-13 17:16:442015亚冠之北京国安
日期:2015-05-13 17:18:292015亚冠之鹿岛鹿角
日期:2015-05-13 17:19:062015亚冠之德黑兰石油
日期:2015-05-27 16:47:402015亚冠之塔什干棉农
日期:2015-05-28 15:24:122015亚冠之卡尔希纳萨夫
日期:2015-06-01 13:52:392015亚冠之柏斯波利斯
日期:2015-06-04 17:37:292015亚冠之阿尔纳斯尔
日期:2015-06-16 11:31:202015亚冠之塔什干火车头
日期:2015-06-23 10:12:33
2 [报告]
发表于 2016-09-06 15:53 |只看该作者

回帖奖励 +10 可用积分

你用程序 取出每个表的数据  然后自己在遍历下

论坛徽章:
18
2015亚冠之阿尔希拉尔
日期:2015-06-02 09:56:10数据库技术版块每日发帖之星
日期:2016-08-13 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-09-12 06:20:00数据库技术版块每日发帖之星
日期:2015-09-11 06:20:00ChinaUnix专家徽章
日期:2015-06-30 16:29:48ChinaUnix专家徽章
日期:2015-06-30 16:29:342015年中国系统架构师大会
日期:2015-06-29 16:11:28
3 [报告]
发表于 2016-09-06 15:55 |只看该作者

回帖奖励 +10 可用积分

取出 每个月的 需要的值  用程序遍历下   取出结果   

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
4 [报告]
发表于 2016-09-06 17:18 |只看该作者

回帖奖励 +10 可用积分

会error,error是啥样的呢?

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
5 [报告]
发表于 2016-09-06 17:36 |只看该作者
可以尝试把 where 条件放到每一个 union 的子查询里用,甚至把 group by 也放进去处理,最后再 union 一起后(或使用临时表,把每一个子查询结果插入到临时表),再做一次整体的 group by 处理过滤出想要的数据。

论坛徽章:
7
15-16赛季CBA联赛之佛山
日期:2016-03-30 16:38:31数据库技术版块每日发帖之星
日期:2016-04-09 06:20:00操作系统版块每日发帖之星
日期:2016-06-11 06:20:0015-16赛季CBA联赛之北控
日期:2016-06-23 16:03:35C
日期:2016-10-25 16:19:21PHP
日期:2016-10-25 16:19:2115-16赛季CBA联赛之天津
日期:2017-01-07 13:22:29
6 [报告]
发表于 2016-09-07 11:51 |只看该作者

回帖奖励 +10 可用积分

我觉得 是不是满在合并数据的地方 你这表的字段很多?

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
7 [报告]
发表于 2016-09-07 15:23 |只看该作者
回复 6# ganluo960214

字段不算太多。 最后是分开处理的,就写成子句来执行。。~

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
8 [报告]
发表于 2016-09-07 15:23 |只看该作者
回复 5# seesea2517

谢谢,我尝试一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP