随着业务的积累,原来在adg上执行的sql,由于join表多,业务复杂,新增的需求随着业务扩张,执行效率也越来越慢,有没有什么可以更好的方式解决报表查询慢,sql优化工作量的增加。
有哪些好的实施案例。
部署过程中需要考虑哪些问题。
是不是可以考虑把各个业务模块分割开整多个目标库,比如用ogg或者其他模式,将各个业务模块的数据实时分发到各自的目标新库,然后在各自新库进行数据分析? 为了解决成本,目标端可以用开源的mysql
从设计的角度, 可以考虑逆范式化减少join, 大表合理分区, 增量处理;
从SQL优化的角度, SQL写法, 分区裁剪,并行使用,分析函数,外部表,物化视图等技术,需要开发人员熟练掌握;
从系统架构上看 , 你已经使用了adg 做了分担 , 还可以考虑再增加adg;
另外还可以根据具体版本,启用in-memory,高级压缩等技术.