国产欧美日韩在线观看一区二区,欧美乱码精品一区二区三区,国产粉嫩高中无套进入,中文在线天堂网www

計(jì)算機(jī)網(wǎng)絡(luò)畢業(yè)論文

數(shù)據(jù)庫(kù)系統(tǒng)中SQL語(yǔ)句的優(yōu)化技術(shù)

  • 相關(guān)推薦

數(shù)據(jù)庫(kù)系統(tǒng)中SQL語(yǔ)句的優(yōu)化技術(shù)

  大學(xué)是學(xué)生時(shí)代最美好而自由的時(shí)光。然而,每個(gè)大學(xué)生要畢業(yè)就必須得面對(duì)畢業(yè)論文這個(gè)坎兒,許多大四學(xué)生對(duì)如何寫論文是一頭霧水。下面文書幫小編給大家?guī)?lái)一篇論文范文,歡迎閱讀!

        摘要: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ǔ)句。

  關(guān)鍵詞:人工智能;自動(dòng)優(yōu)化;SQL語(yǔ)句優(yōu)化

  1一個(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)行。最常見(jiàn)的優(yōu)化手段就是對(duì)硬件的升級(jí)。根據(jù)統(tǒng)計(jì),對(duì)網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)參數(shù)進(jìn)行優(yōu)化所獲得的性能提升,全部加起來(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)化通常可分為兩個(gè)方面:源代碼和SQL語(yǔ)句。由于涉及到對(duì)程序邏輯的改變,源代碼的優(yōu)化在時(shí)間成本和風(fēng)險(xiǎn)上代價(jià)很高,而對(duì)數(shù)據(jù)庫(kù)系統(tǒng)性能的提升收效有限。

  1.1為什么要優(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é),但難精通。

  優(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í)間。

  1.2 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)化工具不僅分析輸入SQL語(yǔ)句的執(zhí)行計(jì)劃,還對(duì)輸入的SQL語(yǔ)句本身進(jìn)行語(yǔ)法分析,經(jīng)過(guò)分析產(chǎn)生寫法上的改進(jìn)建議。

  1.3人工智能自動(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ǔ)句;②“人工智能反饋式搜索引擎”對(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ǔ)句。

  2 LECCO SQL Expert自動(dòng)優(yōu)化實(shí)例

  2.1假設(shè)我們從源代碼中抽取出這條SQL語(yǔ)句(也可以通過(guò)內(nèi)帶的掃描器或監(jiān)視器獲得SQL語(yǔ)句):

  SELECT COUNT(*) 論文下載

  FROM EMPLOYEE

  swheresEXISTS (SELECT 'X'

  FROM DEPARTMENT

  swheresEMP_DEPT=DPT_ID

  AND DPT_NAME LIKE 'AC%')

  AND EMP_ID IN (SELECT SAL_EMP_ID

  FROM EMP_SAL_HIST B

  swheresSAL_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ǔ)句”,按“確定”。

  經(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秒)。現(xiàn)在我們就可以把SQL124放入源代碼中,結(jié)束一條SQL語(yǔ)句的優(yōu)化工作了。

  2.2“邊做邊學(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在寫法上有什么不同,我們可以按下“比較器” 按鈕,對(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 DEPARTMENT

  WHERE DPT_NAME LIKE 'AC%')

  在子查詢完成后,再與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ù)資源的消耗很有幫助。

  2.3 LECCO SQL Expert優(yōu)化模塊的特點(diǎn)

  LECCO SQL 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重寫解決方案。

  2.4寫出專家級(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è)試,確定最有效的優(yōu)化方案。同以往的數(shù)據(jù)庫(kù)優(yōu)化手段相比較,LECCO SQL Expert將數(shù)據(jù)庫(kù)優(yōu)化技術(shù)帶到了一個(gè)嶄新的技術(shù)高度,依賴人的經(jīng)驗(yàn)、耗費(fèi)大量時(shí)間、受人的思維束縛的數(shù)據(jù)庫(kù)優(yōu)化手段已經(jīng)被高效、省時(shí)且準(zhǔn)確的自動(dòng)優(yōu)化軟件所取代了。通過(guò)內(nèi)建的“LECCO小助手”的幫助,即使是SQL的開發(fā)新手,也能快速且簡(jiǎn)單地寫出專家級(jí)的SQL語(yǔ)句。

  參考文獻(xiàn)

  1張孔倚.關(guān)于人工智能技術(shù)在情報(bào)檢索中的應(yīng)用.山西大學(xué)學(xué)報(bào),2007(3)

  2涂序彥.人工智能及其應(yīng)用.北京:清華大學(xué)出版社,2006

  3劉寧.用于情報(bào)檢索的專家系統(tǒng).現(xiàn)代圖書情報(bào)技術(shù),2005 (1)

  4李明,沈紅君.情報(bào)檢索智能化.情報(bào)理論與實(shí)踐,2005(6)

【數(shù)據(jù)庫(kù)系統(tǒng)中SQL語(yǔ)句的優(yōu)化技術(shù)】相關(guān)文章:

淺談廣播電視中的網(wǎng)絡(luò)技術(shù)的應(yīng)用及優(yōu)化10-26

計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)在教學(xué)管理中的優(yōu)化論文10-09

公共管理中存在的問(wèn)題及優(yōu)化策略探析論文10-08

房屋結(jié)構(gòu)設(shè)計(jì)優(yōu)化技術(shù)的實(shí)踐應(yīng)用10-26

技術(shù)哲學(xué)中的信息主義10-26

優(yōu)化決策在民機(jī)客服管理中的計(jì)算機(jī)應(yīng)用論文10-09

企業(yè)稅務(wù)管理中的問(wèn)題及其優(yōu)化對(duì)策探討性論文10-09

高職旅游管理專業(yè)中微課教學(xué)優(yōu)化思考的論文10-08

工業(yè)循環(huán)水處理技術(shù)及優(yōu)化對(duì)策制定論文10-09

國(guó)有企業(yè)技術(shù)創(chuàng)新管理優(yōu)化措施研究論文10-09

主站蜘蛛池模板: 丰满人妻一区二区三区视频| 男女啪啪免费体验区| 无码人妻精一区二区三区| 天天射天天日本一道| 亚洲精品久久久一区| 国产成人无码a区在线观看视频app| 国产精品无码av在线播放| 少妇人妻无码专区视频免费| 欧美四房播播| 免费人成视频网站在线观看18| 亚洲色大成网站www久久九| 娇妻玩4p被三个男人伺候电影| 国产性色αv视频免费| 97人人超碰国产精品最新o| 亚洲美女做爰av人体图片| 欧美巨大另类极品videosbest| 亚洲国产精品无码中文在线| 亚洲熟妇久久国产精品| 日本熟妇人妻videos| 亚洲 小说 欧美 另类 社区| 国产精品十八禁在线观看| 亚洲熟妇色xxxxx亚洲| 亚洲精品成人网久久久久久| 丰满人妻无码∧v区视频| av无码国产在线观看岛国| 92国产精品午夜福利免费| 99久久99久久精品国产片| 中文字幕无码免费久久| 国产真实乱对白精彩久久老熟妇女| 欧美黑人xxxx高潮猛交| 国产亚洲av手机在线观看| 久久不见久久见免费影院视频观看| 免费的黄网站在线观看| 免费看少妇作爱视频| 粗了大了 整进去好爽视频| 不卡无码人妻一区三区音频| 中国女人做爰视频| 无码专区一ⅴa亚洲v专区在线| 全黄h全肉边做边吃奶视频| 18禁裸男晨勃露j毛网站| 国产精品久久久久久一级毛片|