淺析數(shù)據(jù)庫系統(tǒng)中SQL語句的優(yōu)化技術
(作者未知) 2011/6/21
(接上頁)運行” 按鈕,在“終止條件” 頁選擇“最佳運行時間SQL語句”,按“確定”。
經(jīng)過幾分鐘的測試運行后,我們可以發(fā)現(xiàn)SQL124的運行時間和反應時間最短。運行速度約有22.75倍的提升(源SQL語句運行時間為2.73秒,SQL124運行時間為0.12秒)。現(xiàn)在我們就可以把SQL124放入源代碼中,結束一條SQL語句的優(yōu)化工作了。
2.2“邊做邊學式訓練”提升SQL開發(fā)水平
LECCO SQL Expert不僅能夠找到最佳的SQL語句,它所提供的“邊做邊學式訓練”還能夠教開發(fā)人員和數(shù)據(jù)庫管理員如何寫出性能最好的SQL語句。LECCO SQL Expert的“SQL比較器”可以標明源SQL和待選SQL間的不同之處。
以上面優(yōu)化的結果為例,為了查看源SQL語句和SQL124在寫法上有什么不同,我們可以按下“比較器” 按鈕,對SQL124和源SQL語句進行比較!癝QL 比較器”將SQL124相對于源SQL語句的不同之處以藍顏色表示了出來。如果選擇“雙向比較”復選框,“SQL 比較器”可以將兩條SQL語句的不同之處以藍色表示。當然,我們也可以從源語句和重寫后的SQL 語句中任選兩條進行比較。
從比較的結果可以看到,重寫后的SQL124把第一個Exists改寫成了In;在字段DPT_ID上進行了合并空字符串的操作,以誘導數(shù)據(jù)庫先執(zhí)行子查詢中的
(SELECT DPT_ID||’’
FROM DEPARTMENT
WHERE DPT_NAME LIKE ’AC%’)
在子查詢完成后,再與EMPLOYEE表進行嵌套循環(huán)連接(Nested Loop Join)。
如果覺得對寫法的改變難以理解,還可以點中“執(zhí)行計劃”復選框,通過比較兩條SQL語句的執(zhí)行計劃的不同,來了解其中的差異。在查看執(zhí)行計劃過程中,如果有什么不明白的地方,可以點中“SQL信息按鈕”,再點擊執(zhí)行計劃看不明白的地方,LECCO SQL Expert的上下文敏感幫助系統(tǒng)將提供執(zhí)行計劃該處的解釋。
在“SQL比較器”中,選中“統(tǒng)計信息”復選框后,可得到詳細的兩條SQL語句運行時的統(tǒng)計信息比較,這對于學習不同的SQL寫法對數(shù)據(jù)庫資源的消耗很有幫助。
2.3 LECCO SQL Expert優(yōu)化模塊的特點
LECCO SQL Expert優(yōu)化模塊的特點主要表現(xiàn)為:自動優(yōu)化SQL語句;以獨家的人工智能知識庫“反饋式搜索引擎”來重寫性能優(yōu)異的SQL語句;找出所有等效的SQL語句及可能的執(zhí)行計劃;保證產(chǎn)生相同的結果;先進的SQL語法分析器能處理最復雜的SQL語句;可以重寫SELECT、SELECT INTO、UPDATE、INSERT和DELETE語句;通過測試運行,為應用程序和數(shù)據(jù)庫自動找到性能最好的SQL語句;提供微秒級的計時,能夠優(yōu)化Web應用程序和有大量用戶的在線事務處理中運行時間很短的SQL語句;為開發(fā)人員提供“邊做邊學式訓練”,迅速提高開發(fā)人員的SQL編程技能;提供上下文敏感的執(zhí)行計劃幫助系統(tǒng)和SQL運行狀態(tài)幫助;不是猜測或建議,而是獨一無二的SQL重寫解決方案。
2.4寫出專家級的SQL語句
LECCO SQL Expert的出現(xiàn),使SQL的優(yōu)化變得極其簡單,只要能夠寫出SQL語句,它就能幫用戶找到最好性能的寫法。LECCO SQL Expert不僅能在很短的時間內找到所有可能的優(yōu)化方案,而且能夠通過實際測試,確定最有效的優(yōu)化方案。同以往的數(shù)據(jù)庫優(yōu)化手段相比較,LECCO SQL Expert將數(shù)據(jù)庫優(yōu)化技術帶到了一個嶄新的技術高度,依賴人的經(jīng)驗、耗費大量時間、受人的思維束縛的數(shù)據(jù)庫優(yōu)化手段已經(jīng)被高效、省時且準確的自動優(yōu)化軟件所取代了。通過內建的“LECCO小助手”的幫助,即使是SQL的開發(fā)新手,也能快速且簡單地寫出專家級的SQL語句。
參考文獻
1張孔倚.關于人工智能技術在情報檢索中的應用.山西大學學報,2007(3)
2涂序彥.人工智能及其應用.北京:清華大學出版社,2006
3劉寧.用于情報檢索的專家系統(tǒng).現(xiàn)代圖書情報技術,2005 (1)
4李明,沈紅君.情報檢索智能化.情報理論與實踐,2005(6)
|