首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >sql优化 ,百万联表后查 count(*)时间过长?

sql优化 ,百万联表后查 count(*)时间过长?

提问于 2022-05-26 11:17:21
回答 0关注 0查看 78

 已知id为主键,pension_xunying_record的extend为索引?各表的id为主键,pension_xunying_record的记录为百万条,如何优化count(*)时间,优化表结构也可以。

代码语言:js
复制
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

做过优化,但结果并不理想

代码语言:js
复制
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

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档