Oracle提高sql執行效率的心得建議

2022-09-24 14:24:16 字數 1128 閱讀 4003

複製** **如下:

-->from子句中包含多個表的情況下,選擇記錄條數最少的表作為基礎表

-->解析where子句是自下而上的 過濾條件要有順序

-->oracle會將'*'轉換成列名

-->delete會在rollback segment中存放可恢復資訊,可以試試truncate

-->commit會釋放:1.rollback segment

2.被程式語句獲得的鎖

3.redo log buffer

-->把alias字首於每個column上可以減少解析的時間

-->oracle解析sqwww.cppcns.coml語句時會把小寫的字母轉換成大www.cppcns.com程式設計客棧寫的再執行

-->在索引列上使用not會停止使用索引轉而執行全表掃瞄

-->在索引列上進行運算會停止使用索引轉而執行全表掃瞄

-->使用'>=',而不是'>'

-->where子句中'!='、'||'、'+'等符號會破壞索引

-->in的效率很低,in子句將執行乙個內部的排序和合併

-->exist查詢更為迅速

-->對於兩個索引列,union比or效率更高

-->is nullwww.cppcns.com會破壞索引

-->distinct,union,minus,intersect,order by等都帶有sort功能,會耗費資源

-->多個索引列時盡量使用第乙個索引列

-->盡量用 union all代替union

-->不要用to_number()之類的函式改變索引列的型別。

-->對於字元型別的索引列盡量寫成:col = '123' 而不是 col = 123,後者會被解析為to_number(emp_type)=程式設計客棧123

-->適當的地方使用適當的關鍵字:h**ing會在檢索出所有記錄之後對結果集進行過濾 能使用where解決時不要用h**ing

-->索引也需要維護,insert,delete,update會因索引而做出更多次i/o

-->重構索引是必要的:alter index rebuild [online]

本文標題: oracle提高sql執行效率的心得建議

本文位址:

提高SQL執行效率的方法

oracle提供了多種方法用於減少花在剖析oracle sql表示式上的時間,在執行帶有大量執行計畫的複雜查詢時剖析過程會拖累系統的效能。現在我們來簡要地看看這些方法中的幾種。1 使用ordered提示 oracle必須花費大量的時間來剖析多 的合併,用以確定 合併的最佳順序。如果sql表示式涉及七...

提高SQL效率

下面就某些sql 語句的 where 子句編寫中需要注意的問題作詳細介紹。在這些 where 子句中,即使某些列存在索引,但是由於編寫了劣質的 sql 系統在執行該 sql 語句時也不能使用該索引,而同樣使用全表掃瞄,這就造成了響應速度的極大降低。1.is null 與 is not null 不能...

Oracle提高SQL執行效率的三種方法

要提高sql在oracle裡的執行效率,優化應用的業務邏輯是最主要的,從技術層面來講oracle也提供了一些方法,今天主要講3種 oracle提供了多種方法用於減少花在剖析oraclesql表示式上的時間,在執行帶有大量執行計畫的複雜查詢時剖析過程會拖累系統的效能。現在我們來簡要地看看這些方法中的幾...