V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mmdsun
V2EX  ?  问与答

老系统 20 张表 join, 100 多个字段 的优化方案?

  •  
  •   mmdsun · 2020-11-09 13:29:07 +08:00 via Android · 1415 次点击
    这是一个创建于 1270 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    请问一老管理系统有 20 张表 join100 多个字段,如何优化?

    之前有想过上 ES,但这个地方查了 20 多个表,意味着系统好多地方的 update 接口都要触发同步 ES 的操作,不然 es 的数据不是最新的。

    坠痛苦的是还有很多 mybatis xml 里拼接的 SQL 条件查询还得改。

    现在系统很慢。因为是老系统,想尽量改动小。

    有没有什么简单而有效的优化方案?

    阿里 Canal Binlog 同步到 ES 、

    应用层 join

    不知道怎么否可行。

    6 条回复  ?  2020-11-09 17:55:16 +08:00
    zoharSoul
        1
    zoharSoul  
       2020-11-09 13:57:49 +08:00
    要不升级下配置算了?
    pierreorz
        2
    pierreorz  
       2020-11-09 14:11:44 +08:00   ?? 1
    暴露问题:
    1.看看领导层决策,能翻新重做最好
    2.加配置堆硬件
    3.底层大表先封装成视图,再做大的物理宽表(或者物化视图),以空间换性能
    4.重构老代码(可能花费比新做个还好大)
    mmdsun
        3
    mmdsun  
    OP
       2020-11-09 14:13:23 +08:00 via Android
    @zoharSoul 阿里云有个大数据版 SQL,不知道花钱买那个能不能支持这种多表的 SQL 。
    volvo007
        4
    volvo007  
       2020-11-09 15:49:22 +08:00 via iPhone
    我的妈……我这上百个表,大几百个字段……刚接手的时候第一次取数搞了我两个小时……
    SuperManNoPain
        5
    SuperManNoPain  
       2020-11-09 15:52:39 +08:00
    无计可施 宝贝
    cheng6563
        6
    cheng6563  
       2020-11-09 17:55:16 +08:00
    先看看有没有全表扫描吧,都走了索引限制了查询范围的话其实慢也慢不到哪去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2338 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:44 · PVG 21:44 · LAX 06:44 · JFK 09:44
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com