sql优化:开发人员应该要细心

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:77

sql优化:开发人员应该要细心

客户反映
运行某个报表要45秒以上
select id, role_id, login
from tb_user e
where role_id in (Select ID
From tb_role f
Connect By Prior Id = parent_id
Start With Id = 1);
直接拿
以上语句到数据库上执行只要 2秒钟左右
那现在问题只能定位到开发人员写的程序
检查sql
select id, role_id, login
from tb_user e
where role_id in (Select ID
From tb_role f
where e.role_id=f.id
Connect By Prior Id = parent_id
Start With Id = 1);
多了红色部分,去掉
再次运行恢复到2秒正常
以前该sql 是用exists 的写法
select id, role_id, login
from tb_user e
where exists (Select ID
From tb_role f
where e.role_id=f.id
Connect By Prior Id = parent_id
Start With Id = 1);
再改写成用in时开发人员忘记去掉红色代码部分导致执行时间过长
所以开发人员要细心,做为dba要更加严格审核sql才可提交出去

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】