觅夜的黑 2020-05-28 09:40 采纳率: 12.5%
浏览 530
已结题

数据库表达到千万级,怎么优化。merge分表后不改动怎样查询,提高效率

我线上数据库有些记录表的数据量,已经达到千万级别,查询效率有点慢。于是想通过分表进行优化,因为不想在代码层面改动。百度说merge可以做到。但是测试发现 merge 引擎并没有像我想的那么友好,我以为 meger 引擎会自动开启并发检索子表,所以在速度上要比查询为分表的大表要好很多,但实测发现效率几乎无异,甚至会降低。 那么
1、merge分表也要在业务层上实现并发检索子表来实现分表带来的优势么?
2、分表后如何实现全局的分页场景? 直接使用 merge 引擎的确很方便,但性能和不分表没什么区别....还是要自己在业务层实现并发检索子表来凸显分表的优势么?

    百度的我都看过,测试过就不用发链接了。想听听大家实际上怎么处理的
  • 写回答

2条回答

  • 关注

    首先,你要明确下,查询速度慢的根本原因是什么?单纯的单表1000w数据量,还是ok的,不算很大。主要还是看看查询条件和索引问题。如果做了水平
    分表,查询列表这种场景就要被限制,分表主要还是解决了单一查询的性能问题,分还是不分,都有利弊,主要是看业务查询场景的侧重点。而且,分表的方式
    有很多种,水平分,或者定期归档等等,具体拆分的方式要看业务场景。
    如果数据日增长量不是很大,建议还是从其他方面优化性能。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料