sql 效能優化

Nalternative發表於2011-10-08

Oracle optimizer的成本模型考慮了i/o成本和cpu成本,兩者都以時間為單元。Cbo通過對完成所有i/o操作的總時間以及執行查詢所需要的cpu週期數進行比較,對備選的查詢成本進行評估。

 

       點陣圖聯接索引預先儲存了一個索引中兩個表之間的聯結結果,從而取消了進行代價高昂的執行時聯結操作的必要。點陣圖聯結索引是特別為資料倉儲星型模型模式而設計的,但任何一個應用都可以使用它,只有倆表之間存在主鍵/外來鍵關係。

       例子:

create bitmap index cust_orders_bji

On sales (c.cust_id)

From sales s,customers c

Where c.cust_id=s.cust_id

Local

Tablespace users;

 

       內嵌函式減少sql開銷:

Select r.emp_id,e.name,r.emp_type,t.type_des,count(*)

From employees e,emp_type t,emp_records r

Where r.emp_id=e.emp_id

And r.emp_type=t.emp_type

Group by r.emp_id,e.name,r.emp_type,t.emp_des;

 

建立兩個函式:select_emp_desc select_emp

查詢語句就改為:

Select r.emp_id, select_emp(r.emp_id),r.emp_type, select_emp_desc(r.emp_type),count(*)

From emp_records r

Group by r.emp_id, r.emp_type;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25323853/viewspace-708759/,如需轉載,請註明出處,否則將追究法律責任。

相關文章