慢sql如何优化?谁知道啊

mysql数据库

有谁知道这么些慢sql如何优化?

3万条数据下查询耗时,数据会每天增长,长得很快!

男女互动人数 280ms
select sum(interact_male) male,sum(interact_female) female from (select sum(p.behavior=2 and p.sex=1) interact_male,sum(p.behavior=2 and (p.sex=0 or p.sex=100)) interact_female,DATE_FORMAT(p.created_date,'%Y%m%d') date from aiad_passenger_flow as p left join device as d on d.mac=p.mac left join media as m on p.tag_field=m.code  where p.deleted_date is null and p.created_date between '2020-04-01 00:00:00' and '2020-04-08 23:59:59' GROUP BY p.mac, p.tag_field,date ) TEMPORARY 

路过互动折线图 300ms
select p.tag_field, m.name, d.title,p.mac ,sum(p.behavior=0) pass,sum(p.behavior=1) focus,sum(p.behavior=2) interact,DATE_FORMAT(p.created_date,'%Y%m%d') date from aiad_passenger_flow as p left join device as d on d.mac=p.mac left join media as m on p.tag_field=m.code  where p.deleted_date is null  and p.created_date between '2020-04-01 00:00:00' and '2020-04-08 23:59:59' GROUP BY p.mac, p.tag_field,date

列表 410ms
select p.tag_field, m.name, d.title,p.mac ,sum(p.behavior=0) pass,sum(p.behavior=1) focus,sum(p.behavior=2) interact,sum(p.behavior=2 and p.sex=1) interact_male,sum(p.behavior=2 and (p.sex=0 or p.sex=100)) interact_female,sum(case when p.behavior=2 then p.interact_duration else 0 end) interact_time,sum(case when p.sex=1 and p.behavior=2 then p.interact_duration else 0 end ) interact_time_male,sum(case when (p.sex=0 or p.sex=100) and p.behavior=2 then p.interact_duration else 0 end ) interact_time_female,DATE_FORMAT(p.created_date,'%Y%m%d') date from aiad_passenger_flow as p left join device as d on d.mac=p.mac left join media as m on p.tag_field=m.code  where p.deleted_date is null GROUP BY p.mac, p.tag_field,date order by date desc limit 1,10

总数 260ms
SELECT count(*) total from (select DATE_FORMAT(p.created_date,'%Y%m%d') date from aiad_passenger_flow as p left join device as d on d.mac=p.mac left join media as m on p.tag_field=m.code  where p.deleted_date is null GROUP BY p.mac, p.tag_field,date) TEMPORARY  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值