SQL優化系列(一)- 優化SQL

 優化SQLhtml

 

SQL開發人員從源代碼中發現一條跑得很慢的SQL, 如何優化?sql

DBA從AWR報告中發現一條跑得很慢的SQL,沒有源代碼或者不想修改源代碼怎麼辦?數據庫

 

SQL自動優化工具SQL Tuning Expert Pro for Oracle服務器

下載: https://www.tosska.cn/tosska-sql-tuning-expert-pro-tse-pro-for-oracle-download-free-trial-zh/網絡

產品介紹: https://www.tosska.cn/tosska-sql-tuning-expert-pro-tse-pro-for-oracle-zh/oracle

 

執行計劃運維

具體介紹以前,咱們先要了解什麼是執行計劃。 編輯器

執行計劃是數據庫系統根據SQL源碼和相關對象的統計資料產生的查詢方案。在數據庫服務器硬件環境和網絡肯定的狀況下,SQL的執行計劃決定了SQL的性能。工具

 

最佳實踐post

1. 打開軟件Tosska SQL Tuning Expert Pro for Oracle;

2. 鏈接數據庫;

3. 點擊 「優化SQL」 右邊的+號,建立一個會話;

4. 在SQL編輯器中,輸入須要優化的SQL

     

 

 5. 點擊「自動優化SQL」按鈕, 選擇測試運行的方式,點擊」確認「按鈕以後,開始產生大量的等價SQL並自動測試運行;

     

 

6. 工具產生了205條等價SQL,咱們能夠看到目前最優的SQL是 SQL 116, SQL執行時間從6.07秒提高到0.06秒。 

   我對這個優化結果很是滿意了,因而點擊「中止」 中止優化。

     原來的SQL執行時間:        6.07 秒

     最優的等價SQL執行時間: 0.06 秒

     

 

 

7. 若是您是SQL開發人員,選中最快的 SQL 116, 複製 SQL文本,粘貼到源代碼中替換原始SQL,而後編譯程序,調優就完成了。

    若是您是運維DBA,沒有源代碼或者不想修改源代碼,忽略本步驟,執行步驟8, 9, 10, 11;

 

8. 選中最優的SQL 116, 點擊 部署 SQL Patch, 用最優的等價SQL的執行計劃調整原始SQL的執行計劃

     

 

9. 在部署SQL Patch 窗口中,點擊部署按鈕;

    

 

 

10. 關閉「部署SQL Patch」窗口以後,原始SQL的執行計劃已經發生變化,SQL Tuning Expert 提醒咱們測試運行原始SQL來確認調優效果。

    選中原始SQL, 點擊「測試運行當前SQL」

    

 

 

   

    11. 神奇的事情出現了。咱們沒有改變原始SQL,可是原始SQL的執行時間由原來的 6.07秒變成了如今的0秒。

     

 

 

    結論:

  • 對於SQL開發人員來講,優化SQL後,用最優的等價SQL替換原始SQL;
  • 對於運維DBA來講,在不修改SQL源代碼的狀況下,爲原始SQL部署了最優的執行計劃,成功優化了SQL的性能。    

     

   SQL優化神器 - Tosska SQL Tuning Expert for Oracle

   SQL優化系列(二)- 優化Top SQL

   SQL優化系列(三)- 用最少的索引得到最大的性能提高

相關文章
相關標籤/搜索