mysql关联语句优化_MySql语句关联优化问题,为什么加了限制条件反而更慢?

Sql语句如下

select u.name,

u.user_id,

u.phone,

a.title,

a.address,

r.device_id,

r.type,

b.money,

b.pay_type,

r.create_time,

r.reward_money

from(

select device_id, out_trade_no, reward_money, type, c_address_id, create_time

from charge_reward_bill

where type=3 and user_id='100034' and create_time>='2018-02-13' and create_time

inner join charge_bill b on b.out_trade_no= r.out_trade_no and b.pay_time='2018-02-13' #如果把pay_time的限制条件加上反而更慢了

inner join device_address_change a on a.id= r.c_address_id

left join user_app_info u on u.user_id= a.user_id

order by r.create_time desc

limit 10000,10

charge_reward_bill数据量700W左右,charge_bill数据量200W左右,均已分库分表,device_address_change 和user_app_info 是2张小表。

目前来说,查询速度比较慢,第一个表不用子查询也会更慢

问题:charge_bill 这个表关联为什么加上时间的限制条件反而会更慢呢? pay_time上没有索引,字段类型为datetime

,求大佬们说说,或者给点优化思路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值