top
Loading...
人工智能自動SQL優化

SQL語句的優化是將性能低下的SQL語句轉換成目的相同的性能優異的SQL語句。

人工智能自動SQL優化就是使用人工智能技術,自動對SQL語句進行重寫,從而找到性能最好的等效SQL語句。

數據庫性能的優化

一個數據庫系統的生命周期可以分成:設計、開發和成品三個階段。在設計階段進行數據庫性能優化的成本最低,收益最大。在成品階段進行數據庫性能優化的成本最高,收益最小。

數據庫的優化通常可以通過對網絡、硬件、操作系統、數據庫參數和應用程序的優化來進行。最常見的優化手段就是對硬件的升級。根據統計,對網絡、硬件、操作系統、數據庫參數進行優化所獲得的性能提升,全部加起來只占數據庫系統性能提升的40%左右,其余的60%系統性能提升來自對應用程序的優化。許多優化專家認為,對應用程序的優化可以得到80%的系統性能的提升。

應用程序的優化

應用程序的優化通常可分為兩個方面:源代碼和SQL語句。由于涉及到對程序邏輯的改變,源代碼的優化在時間成本和風險上代價很高,而對數據庫系統性能的提升收效有限。

為什么要優化SQL語句

◆SQL語句是對數據庫進行操作的惟一途徑,對數據庫系統的性能起著決定性的作用。

◆SQL語句消耗了70%至90%的數據庫資源。

◆SQL語句獨立于程序設計邏輯,對SQL語句進行優化不會影響程序邏輯。

◆SQL語句有不同的寫法,在性能上的差異非常大。

◆SQL語句易學,但難精通。

優化SQL語句的傳統方法是通過手工重寫來對SQL語句進行優化。DBA或資深程序員通過對SQL語句執行計劃的分析,依靠經驗,嘗試重寫SQL語句,然后對結果和性能進行比較,以試圖找到性能較佳的SQL語句。這種傳統上的作法無法找出SQL語句的所有可能寫法,且依賴于人的經驗,非常耗費時間。

SQL優化技術的發展歷程

第一代SQL優化工具是執行計劃分析工具。這類工具針對輸入的SQL語句,從數據庫提取執行計劃,并解釋執行計劃中關鍵字的含義。

第二代SQL優化工具只能提供增加索引的建議,它通過對輸入的SQL語句的執行計劃的分析,來產生是否要增加索引的建議。

第三代SQL優化工具不僅分析輸入SQL語句的執行計劃,還對輸入的SQL語句本身進行語法分析,經過分析產生寫法上的改進建議。

人工智能自動SQL優化

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗