ORACLE_SQL語句最佳化

來源:互聯網
上載者:User

標籤:

                       ORACLE資料庫sql語句最佳化的學習筆記

概要:最近看的一本oracle資料庫的書,這裡寫一下關於sql語句的最佳化;

一,一般的sql最佳化技巧

1.Select語句中避免使用" * "

2.使用where子句替代having子句

   在select語句中,使用where子句過濾行,使用having子句過濾分組,也就是在行分組之後才執行過濾,因為行被分組需要一定的時間,所以應該盡量使用where子句過濾行,減少分組的行數,也就減少了分組的時間,從而提高了 語句的執行效率;

3.使用truncate替代delete

   刪除表中的資料可以使用delete,也可以使用truncate;如果確定要刪除表中的所有行,建議使用truncate語句;

4.使用表串連而不是多個子查詢

   盡量減少表的查詢次數,主要是指可以使用一次查詢獲得的資料,盡量不要通過兩次或更多次的查詢獲得;

5.使用Exists替代In

   exists與in不同,exists只檢查行的存在性,而in檢查實際的值;

6.使用"<="替代"<"

 

7.使用完整列引用;

二,表的串連方法

1.from子句中表的順序

  建議在使用表的串連查詢時,選擇記錄行數量少得表作為驅動表,也就是將它作為from子句中的最後一個表;

2.where子句的串連順序

   將可以過濾掉最大數量記錄的條件寫在where子句的末尾

三,使用索引

ORACLE_SQL語句最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.