伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 數(shù)據(jù)庫開發(fā) >> 文章正文

人工智能在數(shù)據(jù)庫sql語句編寫中的應(yīng)用

       

       SQL語句的優(yōu)化是將性能低下的SQL語句轉(zhuǎn)換成目的相同的性能優(yōu)異的SQL語句。
人工智能自動SQL優(yōu)化就是使用人工智能技術(shù),自動對SQL語句進(jìn)行重寫,從而找到性能最好的等效SQL語句。

數(shù)據(jù)庫性能的優(yōu)化

一個數(shù)據(jù)庫系統(tǒng)的生命周期可以分成:設(shè)計、開發(fā)和成品三個階段。在設(shè)計階段進(jìn)行數(shù)據(jù)庫性能優(yōu)化的成本最低,收益最大。在成品階段進(jìn)行數(shù)據(jù)庫性能優(yōu)化的成本最高,收益最小。

數(shù)據(jù)庫的優(yōu)化通�?梢酝ㄟ^對網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫參數(shù)和應(yīng)用程序的優(yōu)化來進(jìn)行。最常見的優(yōu)化手段就是對硬件的升級。根據(jù)統(tǒng)計,對網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫參數(shù)進(jìn)行優(yōu)化所獲得的性能提升,全部加起來只占數(shù)據(jù)庫系統(tǒng)性能提升的40%左右,其余的60%系統(tǒng)性能提升來自對應(yīng)用程序的優(yōu)化。許多優(yōu)化專家認(rèn)為,對應(yīng)用程序的優(yōu)化可以得到80%的系統(tǒng)性能的提升。

應(yīng)用程序的優(yōu)化

 

應(yīng)用程序的優(yōu)化通�?煞譃閮蓚€方面:源代碼和SQL語句。由于涉及到對程序邏輯的改變,源代碼的優(yōu)化在時間成本和風(fēng)險上代價很高,而對數(shù)據(jù)庫系統(tǒng)性能的提升收效有限。

為什么要優(yōu)化SQL語句

. SQL語句是對數(shù)據(jù)庫進(jìn)行操作的惟一途徑,對數(shù)據(jù)庫系統(tǒng)的性能起著決定性的作用。

. SQL語句消耗了70%至90%的數(shù)據(jù)庫資源。

. SQL語句獨立于程序設(shè)計邏輯,對SQL語句進(jìn)行優(yōu)化不會影響程序邏輯。

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

. SQL語句易學(xué),但難精通。

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

 

SQL優(yōu)化技術(shù)的發(fā)展歷程

 

第一代SQL優(yōu)化工具是執(zhí)行計劃分析工具。這類工具針對輸入的SQL語句,從數(shù)據(jù)庫提取執(zhí)行計劃,并解釋執(zhí)行計劃中關(guān)鍵字的含義。

 

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

 

第三代SQL優(yōu)化工具不僅分析輸入SQL語句的執(zhí)行計劃,還對輸入的SQL語句本身進(jìn)行語法分析,經(jīng)過分析產(chǎn)生寫法上的改進(jìn)建議。

 

人工智能自動SQL優(yōu)化

 

人工智能自動SQL優(yōu)化出現(xiàn)在90年代末。目前在商用數(shù)據(jù)庫領(lǐng)域,LECCO Technology Limited(靈高科研有限公司)擁有該技術(shù),并提供使用該技術(shù)的自動優(yōu)化產(chǎn)品LECCO SQL Expert,它支持Oracle、Sybase、MS SQL Server和IBM DB2數(shù)據(jù)庫平臺。該產(chǎn)品針對數(shù)據(jù)庫應(yīng)用的開發(fā)和維護(hù)階段提供的模塊有:SQL語法優(yōu)化器、PL/SQL集成化開發(fā)調(diào)試環(huán)境(IDE)、掃描器、數(shù)據(jù)庫監(jiān)視器等。其核心模塊SQL 語法優(yōu)化器的工作原理為:①輸入一條源SQL語句;②“人工智能反饋式搜索引擎”對輸入的SQL語句,結(jié)合檢測到的數(shù)據(jù)庫結(jié)構(gòu)和索引進(jìn)行重寫,產(chǎn)生N條等效的SQL語句輸出;③產(chǎn)生的N條等效SQL語句再送入“人工智能反饋式搜索引擎”進(jìn)行重寫,直至無法產(chǎn)生新的輸出或搜索限額滿;④對輸出的SQL語句進(jìn)行過濾,選出具有不同執(zhí)行計劃的SQL語句;⑤對得到的SQL語句進(jìn)行批量測試,找出性能最好的SQL語句。

 

LECCO SQL Expert自動優(yōu)化實例

 

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

 

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)過10幾秒,SQL Expert就完成了優(yōu)化的過程,并在這10幾秒的時間里重寫產(chǎn)生了2267 條等價的SQL語句,其中136條SQL語句有不同的執(zhí)行計劃。

 


接下來,我們可以對自動重寫產(chǎn)生的136條SQL語句進(jìn)行批運(yùn)行測試,以選出性能最佳的等效SQL語句。按下“批運(yùn)行” 按鈕,在“終止條件” 頁選擇“最佳運(yùn)行時間SQL語句”,按“確定”。

 

經(jīng)過幾分鐘的測試運(yùn)行后,我們可以發(fā)現(xiàn)SQL124的運(yùn)行時間和反應(yīng)時間最短。運(yùn)行速度約有22.75倍的提升(源SQL語句運(yùn)行時間為2.73秒,SQL124運(yùn)行時間為0.12秒)�,F(xiàn)在我們就可以把SQL124放入源代碼中,結(jié)束一條SQL語句的優(yōu)化工作了。

 

“邊做邊學(xué)式訓(xùn)練”提升SQL開發(fā)水平

 

LECCO SQL Expert不僅能夠找到最佳的SQL語句,它所提供的“邊做邊學(xué)式訓(xùn)練”還能夠教開發(fā)人員和數(shù)據(jù)庫管理員如何寫出性能最好的SQL語句。LECCO SQL Expert的“SQL比較器”可以標(biāo)明源SQL和待選SQL間的不同之處。

 

以上面優(yōu)化的結(jié)果為例,為了查看源SQL語句和SQL124在寫法上有什么不同,我們可以按下“比較器” 按鈕,對SQL124和源SQL語句進(jìn)行比較�!癝QL 比較器”將SQL124相對于源SQL語句的不同之處以藍(lán)顏色表示了出來。如果選擇“雙向比較”復(fù)選框,“SQL 比較器”可以將兩條SQL語句的不同之處以藍(lán)色表示。當(dāng)然,我們也可以從源語句和重寫后的SQL 語句中任選兩條進(jìn)行比較。

 

從比較的結(jié)果可以看到,重寫后的SQL124把第一個Exists改寫成了In;在字段DPT_ID上進(jìn)行了合并空字符串的操作,以誘導(dǎo)數(shù)據(jù)庫先執(zhí)行子查詢中的

 

(SELECT DPT_ID||''


FROM DEPARTMENT


WHERE DPT_NAME LIKE 'AC%')

 

在子查詢完成后,再與EMPLOYEE表進(jìn)行嵌套循環(huán)連接(Nested Loop Join)。

 

如果覺得對寫法的改變難以理解,還可以點中“執(zhí)行計劃”復(fù)選框,通過比較兩條SQL語句的執(zhí)行計劃的不同,來了解其中的差異。在查看執(zhí)行計劃過程中,如果有什么不明白的地方,可以點中“SQL信息按鈕”,再點擊執(zhí)行計劃看不明白的地方,LECCO SQL Expert的上下文敏感幫助系統(tǒng)將提供執(zhí)行計劃該處的解釋。

 

在“SQL比較器”中,選中“統(tǒng)計信息”復(fù)選框后,可得到詳細(xì)的兩條SQL語句運(yùn)行時的統(tǒng)計信息比較,這對于學(xué)習(xí)不同的SQL寫法對數(shù)據(jù)庫資源的消耗很有幫助。

 

LECCO SQL Expert優(yōu)化模塊的特點

 

LECCO SQL Expert優(yōu)化模塊的特點主要表現(xiàn)為:自動優(yōu)化SQL語句;以獨家的人工智能知識庫“反饋式搜索引擎”來重寫性能優(yōu)異的SQL語句;找出所有等效的SQL語句及可能的執(zhí)行計劃;保證產(chǎn)生相同的結(jié)果;先進(jìn)的SQL語法分析器能處理最復(fù)雜的SQL語句;可以重寫SELECT、SELECT INTO、UPDATE、INSERT和DELETE語句;通過測試運(yùn)行,為應(yīng)用程序和數(shù)據(jù)庫自動找到性能最好的SQL語句;提供微秒級的計時,能夠優(yōu)化Web應(yīng)用程序和有大量用戶的在線事務(wù)處理中運(yùn)行時間很短的SQL語句;為開發(fā)人員提供“邊做邊學(xué)式訓(xùn)練”,迅速提高開發(fā)人員的SQL編程技能;提供上下文敏感的執(zhí)行計劃幫助系統(tǒng)和SQL運(yùn)行狀態(tài)幫助;不是猜測或建議,而是獨一無二的SQL重寫解決方案。

 

寫出專家級的SQL語句

 

LECCO SQL Expert的出現(xiàn),使SQL的優(yōu)化變得極其簡單,只要能夠?qū)懗鯯QL語句,它就能幫用戶找到最好性能的寫法。LECCO SQL Expert不僅能在很短的時間內(nèi)找到所有可能的優(yōu)化方案,而且能夠通過實際測試,確定最有效的優(yōu)化方案。同以往的數(shù)據(jù)庫優(yōu)化手段相比較,LECCO SQL Expert將數(shù)據(jù)庫優(yōu)化技術(shù)帶到了一個嶄新的技術(shù)高度,依賴人的經(jīng)驗、耗費大量時間、受人的思維束縛的數(shù)據(jù)庫優(yōu)化手段已經(jīng)被高效、省時且準(zhǔn)確的自動優(yōu)化軟件所取代了。通過內(nèi)建的“LECCO小助手”的幫助,即使是SQL的開發(fā)新手,也能快速且簡單地寫出專家級的SQL語句。

 

作者:未知 | 文章來源:賽迪網(wǎng) | 更新時間:2008-4-11 23:20:46

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    基礎(chǔ)學(xué)習(xí):基于SQL的sysobjects系統(tǒng)表
    基礎(chǔ)學(xué)習(xí):基于SQL的sysColumns 數(shù)據(jù)庫字段表
    數(shù)據(jù)庫技術(shù):基于SQL的sysUsers系統(tǒng)表
    數(shù)據(jù)庫技術(shù):基于SQL的sysdenpends系統(tǒng)表
    利用CodeSmith生成sql
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·Domino平臺的優(yōu)缺點分析
    ·oracle不能連接本地庫的解
    ·使用經(jīng)驗整理-TestDirecto
    ·學(xué)習(xí)sqlserver數(shù)據(jù)庫的維度
    ·sqlserver 多用戶并發(fā)中如
    ·丟失日志文件后數(shù)據(jù)庫還能
    ·人工智能在數(shù)據(jù)庫sql語句編
    ·數(shù)據(jù)庫學(xué)習(xí):Oracle應(yīng)用程
    ·基礎(chǔ)知識:軟件測試的要點
    ·技術(shù)文章:sqlserver 2008
    ·SQL Server虛擬內(nèi)存和物理
    ·在MySQL中 describe命令怎
    ·怎樣解決視圖刷新時出現(xiàn)的
    ·如果忘記了MySQL的root用戶
    ·基礎(chǔ)學(xué)習(xí):基于SQL的sysob
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    海丰县| 凤冈县| 五指山市| 华亭县| 靖远县| 灵川县| 九寨沟县| 黑山县| 榆中县| 洛宁县| 桐城市| 临安市| 铜川市| 体育| 江达县| 淮阳县| 武义县| 呼伦贝尔市| 岐山县| 清水县| 巴楚县| 榆林市| 兴化市| 甘泉县| 维西| 峨眉山市| 台中市| 彭泽县| 永靖县| 乡宁县| 鹿邑县| 阿拉善盟| 博客| 美姑县| 古田县| 从江县| 常山县| 鹰潭市| 黔江区| 丰镇市| 金乡县|