已知id为主键,pension_xunying_record的extend为索引?各表的id为主键,pension_xunying_record的记录为百万条,如何优化count(*)时间,优化表结构也可以。
explain SELECT count(*)
FROM
pension_xunying_record xr,
pension_hme_and_user hau,
pension_medical_device md,
pension_user pu
WHERE
xr.device_id = hau.id
AND hau.md_id = md.id
AND hau.user_id = pu.user_id
AND hau.is_unbind = 0
AND xr.extend = 0
ORDER BY
xr.id DESC
做过优化,但结果并不理想
select count(1)
from (select * from pension_xunying_record as xr where xr.extend=0) as xr1
inner join (select * from pension_hme_and_user as hau where hau.is_unbind=0 ) as hau1
on xr1.device_id = hau1.id
inner join (select * from pension_user as pu ) as pu1
on pu1.user_id =hau1.user_id
inner join (select * from pension_medical_device as md) as md1
on md1.id = hau1.md_id
相似问题