我覺得主要應該從5個方面進行調整:
1.去掉不必要的大型表的全表掃瞄
2.快取小型表的全表掃瞄
3.檢驗優化索引的使用
4.檢驗優化的連線技術
5.盡可能減少執行計畫的cost
現在簡單的舉幾個例子
where子句中有「!=」將不使用索引
select account_name from test where amount != 0 (不使用)
select account_name from test where amount > 0 (使用)
where條件中對字段增加處理函式將不使用該列的索引
select * from emp where to_char(hire_date,'yyyymmdd')='20080411' (不使用)
select * from emp where hire_date = to_char('20080411','yyyymmdd') (使用)
避免在索引列上使用is null和 is not null
select * from emp where dept_code is not null (不使用)
select * from emp where dept_code > 0 (使用)
萬用字元% 的使用
select * from emp where name like '%a' (不使用索引)
select * from emp where name like 'a%' (使用索引)
oracle 技巧 sql 優化
it168 技術文件 一 問題的提出 在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中乙個很重要的方面...
Oracle效能優化技巧
今天沒事來說說oracle效能優化的技巧。1.選用適合的oracle優化器 oracle的優化器共有3種 1.rule 基於規則 2.cost 基於成本 3.choose 選擇性 設定預設的優化器,可以通過對init.ora檔案中optimizer mode引數的各種宣告,如rule,cost,ch...
Oracle效能優化技巧
1.選用適合的oracle優化器 oracle的優化器共有3種 1.rule 基於規則 2.cost 基於成本 3.choose 選擇性 設定預設的優化器,可以通過對init.ora檔案中optimizer mode引數的各種宣告,如rule,cost,choose,all rows,first r...