mysql在800多万的数据库表中,分类汇总查200多万数据,怎么能快一点。   我把sql传上来了

1629083433(1).jpg目前已经加了索引, 用force index 查询强制走这个索引,查询速度还是很慢。  

备考FCRP 发布于 2021-8-16 11:02 (编辑于 2021-8-16 11:11)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
Rose_RubyLv6初级互助
发布于2021-8-16 11:24

写一个定时调度的,将结果表计算汇总好,然后查询就查这张结果表

  • 备考FCRP 备考FCRP(提问者) 你说数据库 再建个结果表,然后定时往里面存数据,然后查询只查询这个结果表吗?
    2021-08-16 14:25 
  • Rose_Ruby Rose_Ruby 回复 备考FCRP(提问者) 是的,这种就不用再查询的时候进行计算一次了,速度会提升不少
    2021-08-16 15:44 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-8-16 11:03

这个,要快,只能提高电脑配置了。。。。

  • 备考FCRP 备考FCRP(提问者) 配置挺高了,查询还是需要很多分钟。 还有别的办法可以优化吗?
    2021-08-16 11:08 
  • snrtuemc snrtuemc 回复 备考FCRP(提问者) 大数据量处理,还真不好解决,我们有测试,500万以上数据和以下,是一个分界点;针对我们自己这边系统来说的,500万数据。
    2021-08-16 11:10 
  • 备考FCRP 备考FCRP(提问者) 回复 snrtuemc 从几百万数据查几万条数据,有个几十秒还能查询出来。 从800万数据查询200万数据,速度就很慢了,最少15分钟左右。
    2021-08-16 14:27 
  • snrtuemc snrtuemc 回复 备考FCRP(提问者) 可以布置好redis服务器,提前处理好需要数据,然后直接取,这样可以快点。。。
    2022-02-18 18:49 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-8-16 11:07

预处理(局限性有点大)

根据业务需求预先汇总,然后从汇总数据中查询

  • 备考FCRP 备考FCRP(提问者) 这个不太好,不太好实现。
    2021-08-16 11:12 
  • Z4u3z1 Z4u3z1 回复 备考FCRP(提问者) 那用存储过程试试,存储过程起码可以节约除编译时间
    2021-08-16 11:18 
  • 备考FCRP 备考FCRP(提问者) 回复 Z4u3z1 在mysql数据库里面写存储过程吗?
    2021-08-16 14:26 
最佳回答
0
梦想的初衷Lv7初级互助
发布于2021-8-16 11:26

可以参考一下启用行式引擎执行层式报表

https://help.fanruan.com/finereport/doc-view-997.html?source=4

  • 备考FCRP 备考FCRP(提问者) 汇总表一页就能显示,不需要多个页。 用这个行式引擎执行层式报表 会快吗?
    2021-08-16 14:24 
  • 梦想的初衷 梦想的初衷 回复 备考FCRP(提问者) 我之前一千多页也就3-5秒
    2021-08-16 15:00 
  • 4关注人数
  • 774浏览人数
  • 最后回答于:2021-8-16 11:26
    请选择关闭问题的原因
    确定 取消
    返回顶部