首页 > 代码库 > oracle 性能优化操作十二: 用Case语句合并多重扫描
oracle 性能优化操作十二: 用Case语句合并多重扫描
我们常常必须基于多组数据表计算不同的聚集。例如下例通过三个独立查询:
select count(*) from emp where sal<1000;select count(*) from emp where sal between 1000 and 5000;select count(*) from emp where sal>5000;
这样我们需要进行三次全表查询,但是如果我们使用case语句:
select count (sale when sal <1000then 1 else null end) count_poor,count (sale when between 1000 and 5000then 1 else null end) count_blue_collar,count (sale when sal >5000then 1 else null end) count_poorfrom emp;
这样查询的结果一样,但是执行计划只进行了一次全表查询。
oracle 性能优化操作十二: 用Case语句合并多重扫描
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。