![使用人工智能技術(shù)自動(dòng)對(duì)SQL語(yǔ)句進(jìn)行重寫_第1頁(yè)](http://file4.renrendoc.com/view/9eac79c03a1b2c253d34b6d319b10a7a/9eac79c03a1b2c253d34b6d319b10a7a1.gif)
![使用人工智能技術(shù)自動(dòng)對(duì)SQL語(yǔ)句進(jìn)行重寫_第2頁(yè)](http://file4.renrendoc.com/view/9eac79c03a1b2c253d34b6d319b10a7a/9eac79c03a1b2c253d34b6d319b10a7a2.gif)
![使用人工智能技術(shù)自動(dòng)對(duì)SQL語(yǔ)句進(jìn)行重寫_第3頁(yè)](http://file4.renrendoc.com/view/9eac79c03a1b2c253d34b6d319b10a7a/9eac79c03a1b2c253d34b6d319b10a7a3.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、使用人工智能技術(shù)自動(dòng)對(duì)SQL語(yǔ)句進(jìn)行重寫SQL語(yǔ)句的優(yōu)化是將性能低下的SQL語(yǔ)句轉(zhuǎn)換成目的相同的性能優(yōu)異的SQL語(yǔ)句。人工智能自動(dòng)SQL優(yōu)化就是使用人工智能技術(shù),自動(dòng)對(duì)SQL語(yǔ)句進(jìn)行重寫,從而找到 性能最好的等效SQL語(yǔ)句。數(shù)據(jù)庫(kù)性能的優(yōu)化一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的生命周期可以分成:設(shè)計(jì)、開發(fā)和成品三個(gè)階段。在設(shè)計(jì)階段進(jìn)行數(shù) 據(jù)庫(kù)性能優(yōu)化的成本最低,收益最大。在成品階段進(jìn)行數(shù)據(jù)庫(kù)性能優(yōu)化的成本最高,收益最 小。數(shù)據(jù)庫(kù)的優(yōu)化通??梢酝ㄟ^(guò)對(duì)網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)參數(shù)和應(yīng)用程序的優(yōu)化來(lái) 進(jìn)行。最常見的優(yōu)化手段就是對(duì)硬件的升級(jí)。根據(jù)統(tǒng)計(jì),對(duì)網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù) 參數(shù)進(jìn)行優(yōu)化所獲得的性能提升,全部加
2、起來(lái)只占數(shù)據(jù)庫(kù)系統(tǒng)性能提升的40%左右,其余 的60%系統(tǒng)性能提升來(lái)自對(duì)應(yīng)用程序的優(yōu)化。許多優(yōu)化專家認(rèn)為,對(duì)應(yīng)用程序的優(yōu)化可以 得到80%的系統(tǒng)性能的提升。應(yīng)用程序的優(yōu)化應(yīng)用程序的優(yōu)化通??煞譃閮蓚€(gè)方面:源代碼和SQL語(yǔ)句。由于涉及到對(duì)程序邏輯的 改變,源代碼的優(yōu)化在時(shí)間成本和風(fēng)險(xiǎn)上代價(jià)很高,而對(duì)數(shù)據(jù)庫(kù)系統(tǒng)性能的提升收效有限。為什么要優(yōu)化SQL語(yǔ)句SQL語(yǔ)句是對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的惟一途徑,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的性能起著決定性的作用。SQL語(yǔ)句消耗了 70%至90%的數(shù)據(jù)庫(kù)資源。SQL語(yǔ)句獨(dú)立于程序設(shè)計(jì)邏輯,對(duì)SQL語(yǔ)句進(jìn)行優(yōu)化不會(huì)影響程序邏輯。SQL語(yǔ)句有不同的寫法,在性能上的差異非常大。SQL語(yǔ)句易學(xué)
3、,但難精通。優(yōu)化SQL語(yǔ)句的傳統(tǒng)方法是通過(guò)手工重寫來(lái)對(duì)SQL語(yǔ)句進(jìn)行優(yōu)化。DBA或資深程序 員通過(guò)對(duì)SQL語(yǔ)句執(zhí)行計(jì)劃的分析,依靠經(jīng)驗(yàn),嘗試重寫SQL語(yǔ)句,然后對(duì)結(jié)果和性能進(jìn) 行比較,以試圖找到性能較佳的SQL語(yǔ)句。這種傳統(tǒng)上的作法無(wú)法找出SQL語(yǔ)句的所有可 能寫法,且依賴于人的經(jīng)驗(yàn),非常耗費(fèi)時(shí)間。SQL優(yōu)化技術(shù)的發(fā)展歷程第一代SQL優(yōu)化工具是執(zhí)行計(jì)劃分析工具。這類工具針對(duì)輸入的SQL語(yǔ)句,從數(shù)據(jù)庫(kù) 提取執(zhí)行計(jì)劃,并解釋執(zhí)行計(jì)劃中關(guān)鍵字的含義。第二代SQL優(yōu)化工具只能提供增加索引的建議,它通過(guò)對(duì)輸入的SQL語(yǔ)句的執(zhí)行計(jì)劃 的分析,來(lái)產(chǎn)生是否要增加索引的建議。第三代SQL優(yōu)化工具不僅分析輸入SQ
4、L語(yǔ)句的執(zhí)行計(jì)劃,還對(duì)輸入的SQL語(yǔ)句本身 進(jìn)行語(yǔ)法分析,經(jīng)過(guò)分析產(chǎn)生寫法上的改進(jìn)建議。人工智能自動(dòng)SQL優(yōu)化人工智能自動(dòng)SQL優(yōu)化出現(xiàn)在90年代末。目前在商用數(shù)據(jù)庫(kù)領(lǐng)域,LECCO Technology Limited(靈高科研有限公司)擁有該技術(shù),并提供使用該技術(shù)的自動(dòng)優(yōu)化產(chǎn)品LECCO SQL Expert,它支持Oracle、Sybase、MS SQL Server和IBM DB2數(shù)據(jù)庫(kù)平臺(tái)。該產(chǎn)品針對(duì)數(shù)據(jù) 庫(kù)應(yīng)用的開發(fā)和維護(hù)階段提供的模塊有:SQL語(yǔ)法優(yōu)化器、PL/SQL集成化開發(fā)調(diào)試環(huán)境 (IDE)、掃描器、數(shù)據(jù)庫(kù)監(jiān)視器等。其核心模塊SQL語(yǔ)法優(yōu)化器的工作原理為:輸入一條源SQL語(yǔ)
5、句;“人工智能反饋式搜索引擎”對(duì)輸入的SQL語(yǔ)句,結(jié)合檢測(cè)到的數(shù)據(jù)庫(kù)結(jié)構(gòu)和索引進(jìn)行重寫,產(chǎn)生N條等效的SQL語(yǔ)句輸出;產(chǎn)生的N條等效SQL語(yǔ)句再送入“人工智能反饋式搜索引擎”進(jìn)行重寫,直至無(wú)法產(chǎn)生新的輸出或搜索限額滿;對(duì)輸出的SQL語(yǔ)句進(jìn)行過(guò)濾,選出具有不同執(zhí)行計(jì)劃的SQL語(yǔ)句;對(duì)得到的SQL語(yǔ)句進(jìn)行批量測(cè)試,找出性能最好的SQL語(yǔ)句。LECCO SQL Expert自動(dòng)優(yōu)化實(shí)例假設(shè)我們從源代碼中抽取出這條SQL語(yǔ)句(也可以通過(guò)內(nèi)帶的掃描器或監(jiān)視器獲得SQL 語(yǔ)句):SELECT COUNT(*) FROM EMPLOYEEswheresEXISTS (SELECT X FROM DEPART
6、MENT swheresEMP_DEPT=DPT_IDAND DPT_NAME LIKE AC%)AND EMP_ID IN (SELECT SAL_EMP_IDFROM EMP_SAL_HIST BswheresSAL_SALARY 70000)按下“優(yōu)化”按鈕后,經(jīng)過(guò)10幾秒,SQL Expert就完成了優(yōu)化的過(guò)程,并在這10幾秒 的時(shí)間里重寫產(chǎn)生了 2267條等價(jià)的SQL語(yǔ)句,其中136條SQL語(yǔ)句有不同的執(zhí)行計(jì)劃。接下來(lái),我們可以對(duì)自動(dòng)重寫產(chǎn)生的136條SQL語(yǔ)句進(jìn)行批運(yùn)行測(cè)試,以選出性能最 佳的等效SQL語(yǔ)句。按下“批運(yùn)行”按鈕,在“終止條件”頁(yè)選擇“最佳運(yùn)行時(shí)間SQL 語(yǔ)句”,按“
7、確定”。經(jīng)過(guò)幾分鐘的測(cè)試運(yùn)行后,我們可以發(fā)現(xiàn)SQL124的運(yùn)行時(shí)間和反應(yīng)時(shí)間最短。運(yùn)行速 度約有22.75倍的提升(源SQL語(yǔ)句運(yùn)行時(shí)間為2.73秒,SQL124運(yùn)行時(shí)間為0.12秒)?,F(xiàn)在 我們就可以把SQL124放入源代碼中,結(jié)束一條SQL語(yǔ)句的優(yōu)化工作了。“邊做邊學(xué)式訓(xùn)練”提升SQL開發(fā)水平LECCO SQL Expert不僅能夠找到最佳的SQL語(yǔ)句,它所提供的“邊做邊學(xué)式訓(xùn)練”還 能夠教開發(fā)人員和數(shù)據(jù)庫(kù)管理員如何寫出性能最好的SQL語(yǔ)句。LECCO SQL Expert 的SQL 比較器”可以標(biāo)明源SQL和待選SQL間的不同之處。以上面優(yōu)化的結(jié)果為例,為了查看源SQL語(yǔ)句和SQL124
8、在寫法上有什么不同,我們 可以按下“比較器”按鈕,對(duì)SQL124和源SQL語(yǔ)句進(jìn)行比較。“SQL比較器”將SQL124 相對(duì)于源SQL語(yǔ)句的不同之處以藍(lán)顏色表示了出來(lái)。如果選擇“雙向比較”復(fù)選框,“SQL 比較器”可以將兩條SQL語(yǔ)句的不同之處以藍(lán)色表示。當(dāng)然,我們也可以從源語(yǔ)句和重寫 后的SQL語(yǔ)句中任選兩條進(jìn)行比較。從比較的結(jié)果可以看到,重寫后的SQL124把第一個(gè)Exists改寫成了 In;在字段DPT_ID 上進(jìn)行了合并空字符串的操作,以誘導(dǎo)數(shù)據(jù)庫(kù)先執(zhí)行子查詢中的(SELECT DPT_ID|FROM DEPARTMENTWHERE DPT_NAME LIKE AC%)在子查詢完成后,
9、再與EMPLOYEE表進(jìn)行嵌套循環(huán)連接(Nested Loop Join)。如果覺(jué)得對(duì)寫法的改變難以理解,還可以點(diǎn)中“執(zhí)行計(jì)劃”復(fù)選框,通過(guò)比較兩條SQL 語(yǔ)句的執(zhí)行計(jì)劃的不同,來(lái)了解其中的差異。在查看執(zhí)行計(jì)劃過(guò)程中,如果有什么不明白的 地方,可以點(diǎn)中“SQL信息按鈕”,再點(diǎn)擊執(zhí)行計(jì)劃看不明白的地方,LECCO SQL Expert 的上下文敏感幫助系統(tǒng)將提供執(zhí)行計(jì)劃該處的解釋。在“SQL比較器”中,選中“統(tǒng)計(jì)信息”復(fù)選框后,可得到詳細(xì)的兩條SQL語(yǔ)句運(yùn)行 時(shí)的統(tǒng)計(jì)信息比較,這對(duì)于學(xué)習(xí)不同的SQL寫法對(duì)數(shù)據(jù)庫(kù)資源的消耗很有幫助。LECCO SQL Exper t優(yōu)化模塊的特點(diǎn)LECCO SQL
10、 Expert優(yōu)化模塊的特點(diǎn)主要表現(xiàn)為:自動(dòng)優(yōu)化SQL語(yǔ)句;以獨(dú)家的人工智 能知識(shí)庫(kù)“反饋式搜索引擎”來(lái)重寫性能優(yōu)異的SQL語(yǔ)句;找出所有等效的SQL語(yǔ)句及可 能的執(zhí)行計(jì)劃;保證產(chǎn)生相同的結(jié)果;先進(jìn)的SQL語(yǔ)法分析器能處理最復(fù)雜的SQL語(yǔ)句; 可以重寫SELECT、SELECT INTO、UPDATE、INSERT和DELETE語(yǔ)句;通過(guò)測(cè)試運(yùn)行, 為應(yīng)用程序和數(shù)據(jù)庫(kù)自動(dòng)找到性能最好的SQL語(yǔ)句;提供微秒級(jí)的計(jì)時(shí),能夠優(yōu)化Web應(yīng) 用程序和有大量用戶的在線事務(wù)處理中運(yùn)行時(shí)間很短的SQL語(yǔ)句;為開發(fā)人員提供“邊做 邊學(xué)式訓(xùn)練”,迅速提高開發(fā)人員的SQL編程技能;提供上下文敏感的執(zhí)行計(jì)劃幫助系統(tǒng)和 SQL運(yùn)行狀態(tài)幫助;不是猜測(cè)或建議,而是獨(dú)一無(wú)二的SQL重寫解決方案。寫出專家級(jí)的SQL語(yǔ)句LECCO SQL Expert的出現(xiàn),使SQL的優(yōu)化變得極其簡(jiǎn)單,只要能夠?qū)懗鯯QL語(yǔ)句, 它就能幫用戶找到最好性能的寫法。LECCO SQL Expert不僅能在很短的時(shí)間內(nèi)找到所有可 能的優(yōu)化方案,而且能夠通過(guò)實(shí)際測(cè)試,確定最有
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度合作建房項(xiàng)目竣工驗(yàn)收合同范本
- 2025年度建筑涂料工程招投標(biāo)代理與咨詢服務(wù)合同
- 2025年度智能家電研發(fā)生產(chǎn)合同協(xié)議書標(biāo)準(zhǔn)格式
- 貴州2025年貴州省市場(chǎng)監(jiān)管局所屬事業(yè)單位招聘39人筆試歷年參考題庫(kù)附帶答案詳解
- 蚌埠2025年安徽馬鞍山和縣中學(xué)招聘勞務(wù)派遣制教師筆試歷年參考題庫(kù)附帶答案詳解
- 牡丹江2024年黑龍江牡丹江市直事業(yè)單位集中選調(diào)15人筆試歷年參考題庫(kù)附帶答案詳解
- 淮安2024年江蘇淮安市公安局經(jīng)濟(jì)技術(shù)開發(fā)區(qū)分局招聘警務(wù)輔助人員15人筆試歷年參考題庫(kù)附帶答案詳解
- 沈陽(yáng)2025年遼寧沈陽(yáng)市渾南區(qū)事業(yè)單位博士招聘36人筆試歷年參考題庫(kù)附帶答案詳解
- 柳州2025年廣西柳州市事業(yè)單位招聘2077人筆試歷年參考題庫(kù)附帶答案詳解
- 昆明2025年云南昆明市晉寧區(qū)人民政府辦公室招聘編外工作人員筆試歷年參考題庫(kù)附帶答案詳解
- GB/T 26189.2-2024工作場(chǎng)所照明第2部分:室外作業(yè)場(chǎng)所的安全保障照明要求
- 新教科版一年級(jí)科學(xué)下冊(cè)第一單元《身邊的物體》全部課件(共7課時(shí))
- 2025年中國(guó)水解聚馬來(lái)酸酐市場(chǎng)調(diào)查研究報(bào)告
- 高考百日誓師動(dòng)員大會(huì)
- 2025江蘇常州西太湖科技產(chǎn)業(yè)園管委會(huì)事業(yè)單位招聘8人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年北京控股集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 2024新人教版初中英語(yǔ)單詞表默寫版(七~九年級(jí))
- 體育科學(xué)急救知識(shí)
- 復(fù)工復(fù)產(chǎn)質(zhì)量管理工作
- 2025年?yáng)|方電氣集團(tuán)東方鍋爐股份限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論