程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle性能優化操作十二:用Case語句合並多重掃描

oracle性能優化操作十二:用Case語句合並多重掃描

編輯:Oracle教程

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 <1000

then 1 else null end)              count_poor,

count (sale when between 1000 and 5000

then 1 else null end)              count_blue_collar,

count (sale when sal >5000

then 1 else null end)              count_poor

from emp;

這樣查詢的結果一樣,但是執行計劃只進行了一次全表查詢。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved