2021-12-24
不熟悉客户的业务流程和业务逻辑,能否做SQL语句优化?
如题,问一下,不熟悉客户的业务流程和业务逻辑,能否做好SQL语句优化?还是单纯只靠执行计划来优化SQL?
我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~

如题,问一下,不熟悉客户的业务流程和业务逻辑,能否做好SQL语句优化?还是单纯只靠执行计划来优化SQL?
不熟悉业务也能做。
只是不能大改SQL原有逻辑
执行计划,表上的索引等信息可以优化SQL语句,但实际要去大改SQL语句的逻辑情况也是较少的。
熟悉业务是优化的加分项不是必须项。
Oracle 自动索引特性就是类似情况,根据Oracle自身的报告、建议生成的sql优化;
要看性能瓶颈在哪,如果是在SQL、执行计划、表结构上,那就可以不用熟业务;这些已经可以解决不少部问题了,但如果优化涉及到改写、重构,那就要了解业务了;
我倒是觉得 ,如果 熟悉客户的业务流程和业务逻辑 ,那么在某些sql优化上,可以获得不一样的思路。
比如有时候为了获取一个字段代码的翻译,去关联了一个超大表,但你如果熟悉业务的话,会知道这个字段代码翻译有在另一个小表存,这样就可以把表换掉。
有些业务逻辑思路不强,经常会绕着弯来提需求,但如果熟悉业务,给他抽丝剥茧,会发现根本没那么麻烦,之前是一个复杂缓慢的sql,完全可以用一个简单高效的sql等价替换