来源:辣条科技站Gamer发布时间: 2024-04-20 16:00:13
在OB工作期间,尚未接触到金融领域的SQL优化案例,只能分享其他行业的数据库SQL优化案例。
最近接手的案例是一个传统行业的SQL,表设计未遵循三范式规范,显得非常奇葩。
医疗、交通、能源等传统行业的业务设计,SQL语句十分奇葩,具有一定挑战性,也颇具趣味。
慢SQL:
执行时间:
执行计划(个人理解能力有限,暂不深究):
表数据量:
上述SQL运行时间为28秒,返回8行数据,速度较慢。
数据库管理员表示已经使用HINT对SQL进行整体优化,但仍需12秒才能运行完毕,客户不满意,因此寻求其他解决方案。
加HINT优化方案:
加HINT后执行计划:
HINT执行时间:
12秒相较于原来的28秒已经有了显著提升,但客户表示不满意:Oracle数据库可以在一秒内返回结果,而在达梦数据库中执行时间却多了12倍,难以接受。
面对此情况,最终找到专家寻求帮助,以期让该SQL能够“秒出结果”。
初步观察后发现,加索引和使用HINT并不能有效改善性能,唯有进行等价改写,并创建合适的索引,使得该SQL能够使用新的索引进行查询。
等价改写+索引优化方案:
优化后执行计划:
执行时间:
通过改写和创建索引进行优化后,该SQL能够像Oracle数据库一样“秒出结果”。
堆表和索引组织表的区别很大,对于一些老系统,业务SQL编写不佳,使用堆表并无大碍,而Oracle的CBO算法能够抵御这些问题。
然而,当前许多国产数据库使用索引组织表(如OB、DM、TIDB等国产数据库),老系统中的业务设计较为随意,且很多业务逻辑都实现在数据库层面,这导致了许多性能问题:
Oracle的索引迁移到国产数据库后,性能却下降明显,无法充分利用原有的索引等问题层出不穷。
要进行国产化适配改造,并非仅满足数据库功能和特性上的实现,还需要对业务模型进行整体调整。
感谢各位读者同学的阅读,如有奇葩SQL问题,欢迎联系我。?
热门推荐
饭团影视电视版app最新版下载,饭团影视2023电视版app最新版下载 v2.1.5
2023-01-30 13:48:31灵猫传手游下载-灵猫传安卓版下载
2023-02-28 21:08:10有没有不正经的交友软件 不太正经的视频相亲软件有那些叫什么
2023-04-10 17:20:24魔物地牢手游下载-魔物地牢安卓版免费下载v1.0.2
2023-05-09 12:53:25阴尸路幸存者游戏下载-阴尸路幸存者末日游戏下载v1.12.1
2023-05-31 13:51:42IVE高清壁纸APP安卓版下载-IVE高清壁纸各种高清美女壁纸每天更新下载v201
2023-06-23 18:19:48人气榜