




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 關(guān)系數(shù)據(jù)庫(kù)sql語句的設(shè)計(jì)優(yōu)化策略 摘要:基于關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)查詢語言sql被大量的應(yīng)用到數(shù)據(jù)庫(kù)內(nèi),利用其查詢與檢索方面的功能可以使得系統(tǒng)運(yùn)行更加的準(zhǔn)確,但是效率方面卻并不理想。數(shù)據(jù)庫(kù)性能水平高低通常需要從響應(yīng)時(shí)間與吞吐量方面出發(fā)分析。響應(yīng)時(shí)間越短、吞吐量越大,則表示數(shù)據(jù)庫(kù)功能越強(qiáng)。本文重點(diǎn)分析的是數(shù)據(jù)庫(kù)內(nèi)進(jìn)行sql語句優(yōu)化的主要方法,提出具體優(yōu)化原則。關(guān)鍵詞:數(shù)據(jù)庫(kù)性能;查詢;優(yōu)化;sql語句1sql概述查詢優(yōu)化是關(guān)系數(shù)據(jù)庫(kù)內(nèi)極為重要的組成部分,其能夠讓各項(xiàng)關(guān)系數(shù)據(jù)庫(kù)與非過程化的sql查詢語言發(fā)展取得非常好的效果。而針對(duì)優(yōu)化來說,其對(duì)于系
2、統(tǒng)方面的運(yùn)行既是機(jī)遇,也是挑戰(zhàn)。挑戰(zhàn)主要就是關(guān)系系統(tǒng)為了能夠達(dá)到用戶使用的最低功能而進(jìn)行查詢優(yōu)化。因?yàn)殛P(guān)系表達(dá)式的語義級(jí)別是很高的,這樣就會(huì)讓整個(gè)關(guān)系系統(tǒng)能夠體現(xiàn)出具體的查詢語義,進(jìn)而讓查詢優(yōu)化提升總體效果。當(dāng)前,目前所應(yīng)用的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)絕大多數(shù)都能夠通過應(yīng)用查詢語言sql(structured query language)來實(shí)現(xiàn)優(yōu)化。數(shù)據(jù)庫(kù)管理系統(tǒng)在運(yùn)行之后,可以高效獲得各項(xiàng)數(shù)據(jù)信息,了解維護(hù)效果,合理的組織進(jìn)行存儲(chǔ)數(shù)據(jù)運(yùn)行。其能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)的管理與控制,確保數(shù)據(jù)庫(kù)運(yùn)行更加的安全、可靠,同時(shí)還能夠?qū)崿F(xiàn)數(shù)據(jù)共享。在用戶根據(jù)需要檢索相應(yīng)數(shù)據(jù)信息,能夠利用sql語言直接將請(qǐng)求發(fā)射出去,系統(tǒng)
3、會(huì)自動(dòng)處理該請(qǐng)求,將檢索到的數(shù)據(jù)直接發(fā)回給用戶。數(shù)據(jù)庫(kù)操作過程中,查詢工作量是巨大的,在實(shí)際應(yīng)用中是通過se-lect語句在sql語句中的代價(jià)是最大的。如果在操作中應(yīng)用了優(yōu)秀查詢策略,就能夠提高查詢的速度和質(zhì)量,縮短查詢時(shí)間,其對(duì)于查詢有著非常高的效果。人們通過在應(yīng)用sql查詢語句時(shí)有錯(cuò)誤觀點(diǎn),就是過度的重視正確率,卻沒有關(guān)注不同的sql查詢語句實(shí)現(xiàn)方式所存在的不同點(diǎn),這種不同點(diǎn)在復(fù)雜數(shù)據(jù)庫(kù)中應(yīng)用效果更好。通過合理檢索方式可以提升查詢效率,但是如果sql查詢語句缺乏合理性,就會(huì)導(dǎo)致索引功能難以實(shí)現(xiàn),因此,應(yīng)該能夠?qū)懗鰏ql查詢語句,還要提升該語句的性能,以保證檢索的效率和質(zhì)量符合人們使用需要。
4、2物理查詢select*fromtab1,tab2wheretab1.id=tab2.idandtab1.col1=123and tab2.col1='abc'照這個(gè)語句的順序,先要tab1和tab2進(jìn)行笛卡爾乘積,再按照tab1.col1=123and tab2.col1='abc'進(jìn)行篩選。從這個(gè)方面出發(fā),即使是初學(xué)者也認(rèn)為該方式的查詢效率是極低的,首先應(yīng)該充分了解邏輯處理與物力處理之間的差異,邏輯處理是執(zhí)行該查詢能夠獲得怎樣的結(jié)果,而邏輯查詢的各個(gè)環(huán)節(jié)都要從該查詢?cè)谶壿媹?zhí)行者的先后順序,按照該順序得到相應(yīng)的查詢結(jié)果,這與數(shù)學(xué)中先乘除后加減的運(yùn)算順序的原理是
5、相同的。邏輯查詢的目的是獲取所需要的結(jié)果,而獲得該結(jié)果需要經(jīng)過怎樣的過程卻是不關(guān)心的。而物理處理是獲得該結(jié)果的同時(shí),還要確保其性能合理。下面具體分析物理處理方式。當(dāng)一個(gè)sql查詢語句進(jìn)入到數(shù)據(jù)庫(kù)搜索引擎之后,其主要的作用就是按照查詢計(jì)劃開展工作,此時(shí)會(huì)有兩種情況發(fā)生,其一就是緩存中無法確定具體的查詢計(jì)劃方式,然后系統(tǒng)會(huì)根據(jù)需要自動(dòng)生成另外一個(gè)計(jì)劃;其二是該查詢計(jì)劃已經(jīng)真實(shí)的存在與緩存中,然后就是根據(jù)該計(jì)劃開始進(jìn)行查詢作業(yè)。執(zhí)行計(jì)劃在編譯生成階段,具體要經(jīng)過如下幾個(gè)步驟才能實(shí)現(xiàn):第一步:分析,這是進(jìn)行分批處理形成分析樹的主要環(huán)節(jié),同時(shí)還應(yīng)該根據(jù)需要來檢測(cè)確定語句是否能夠達(dá)到正確性的標(biāo)準(zhǔn)。第二步:
6、代數(shù)化,該階段的作用就是進(jìn)行第一步分析樹的輸入,生成之后可以形成查詢處理器作為輸出內(nèi)容,進(jìn)而可以實(shí)現(xiàn)查詢優(yōu)化的效果。第三步:查詢優(yōu)化,主要是通過查詢優(yōu)化器組件來完成該步驟。查詢階段需要明確具體的順序訪問表,然后確定具體的索引方法,經(jīng)過確定各種聯(lián)接算法來明確具體的查詢優(yōu)化器組件,但是該方式的確定并不是隨意進(jìn)行的,應(yīng)該達(dá)到前提條件才能進(jìn)行,以保證最終的結(jié)果集符合人們的查詢需要。從這一方面出發(fā),結(jié)果集必須要按照具體的邏輯處理方式來得到相應(yīng)的各個(gè)階段的結(jié)果。優(yōu)化器應(yīng)該根據(jù)需要實(shí)現(xiàn)查詢的多個(gè)變體確定,最終能夠確定成本最低的一個(gè)查詢計(jì)劃。3 sql子句分析數(shù)
7、據(jù)庫(kù)查詢作業(yè)的設(shè)計(jì)過程中,所使用的查詢數(shù)據(jù)的樣式也是多樣化的,但是選擇哪個(gè)語句來進(jìn)行,就顯得尤為重要,這是因?yàn)槠鋾?huì)影響最終的查詢效率。因此,在帶有where條件時(shí),應(yīng)該有效的預(yù)防在where句子內(nèi)的字段來開展函數(shù)或者表達(dá)式的操作,這樣就會(huì)出現(xiàn)引擎索引無法進(jìn)行而開展全表的掃描處理,造成查詢的工作效率比較差。任何的對(duì)列操作的使用都會(huì)產(chǎn)生表掃描,其主要包含計(jì)算表達(dá)式、數(shù)據(jù)庫(kù)函數(shù)等等方面,在具體的查詢操作中,將其移動(dòng)到等號(hào)右邊來進(jìn)行。4 sql語句優(yōu)化原則“20%的代碼用去了80%的時(shí)間”,這是開展程序設(shè)計(jì)中的重要定律和指導(dǎo)思想,數(shù)據(jù)庫(kù)的操作實(shí)踐中也應(yīng)該
8、重視這一方面。查詢優(yōu)化應(yīng)該掌握具體的問題,比如數(shù)據(jù)庫(kù)的應(yīng)用程序,主要的目的就是要有效的提升sql運(yùn)行的效率。查詢優(yōu)化最為關(guān)鍵的是從服務(wù)器內(nèi)獲得相應(yīng)數(shù)據(jù),并不是按照順序進(jìn)行全部?jī)?nèi)容讀取。關(guān)系數(shù)據(jù)庫(kù)查詢優(yōu)化要按照如下原則來進(jìn)行:要盡量的先進(jìn)行選擇運(yùn)算的操作,然后能夠獲得相對(duì)比較小的中間結(jié)果;把多個(gè)選擇與投影操作要同時(shí)執(zhí)行,能夠避免分次掃描文件而導(dǎo)致效率較低;投影操作應(yīng)該根據(jù)雙目核算的方式來進(jìn)行;把笛卡兒積和其后的選擇運(yùn)算合并,能夠有效的縮短時(shí)間;如果是文件要連接則要合理進(jìn)行排序或者索引,能夠有效對(duì)應(yīng)各個(gè)關(guān)系;按照小關(guān)系運(yùn)算優(yōu)化處理的原則,減少中間結(jié)果;把表內(nèi)和查詢結(jié)果沒有關(guān)系的屬性全部剔除,能夠減
9、少中間結(jié)果的數(shù)量;提取公共表達(dá)式,根據(jù)要求預(yù)先保存,可以防止出現(xiàn)重復(fù)計(jì)算,縮短時(shí)間。上述原則的應(yīng)用能夠提升查詢速度,但是很多條件之下,要經(jīng)過多次反復(fù)試驗(yàn)才能確定最為合理的實(shí)施方案。測(cè)試是最有效的方式,可以把相同功能的不同sql語句執(zhí)行情況進(jìn)行考察分析,但是數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)量很少,無法通過比較實(shí)現(xiàn),應(yīng)該查看執(zhí)行計(jì)劃,就能夠把相同功能的多條sql語句全部都輸入到系統(tǒng)內(nèi),然后再按ctrl+l查看所利用的索引表掃描次數(shù)。5結(jié)束語數(shù)據(jù)庫(kù)設(shè)計(jì)的水平,會(huì)直接影響管理系統(tǒng)的各項(xiàng)功能,而數(shù)據(jù)庫(kù)優(yōu)化則是進(jìn)行水平分析的重要指標(biāo)。因此,在數(shù)據(jù)庫(kù)優(yōu)化中,應(yīng)該重視各項(xiàng)措施的應(yīng)用,做好各個(gè)方面問題的考慮與分析,但是因?yàn)槠溆绊懸蛩乇容^多,所以在設(shè)計(jì)中還會(huì)存在很多矛盾。這就需要綜合使用各種數(shù)據(jù)庫(kù)設(shè)計(jì)方式,以提升數(shù)據(jù)庫(kù)的性能,達(dá)到最優(yōu)化的應(yīng)用效果,使得系統(tǒng)開發(fā)效率和質(zhì)量得以有效的提升。參考文獻(xiàn):1 張欣.基于sql標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)查詢優(yōu)化技術(shù)研究j.煤炭技術(shù)(12):284-286.2 肖輝輝,段艷明.關(guān)系數(shù)據(jù)庫(kù)sq
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海底撈收銀員崗位職責(zé)與操作規(guī)范他
- 幼兒園隔離與消毒落實(shí)措施
- 管網(wǎng)改造升級(jí)給水管網(wǎng)施工進(jìn)度計(jì)劃
- 道路橋梁混凝土冬季保溫措施他
- 蘇教版六年級(jí)上冊(cè)科學(xué)教案計(jì)劃
- 人音版三年級(jí)下冊(cè)音樂教學(xué)問題解決計(jì)劃
- 雙減背景下學(xué)科作業(yè)差異化設(shè)計(jì)心得體會(huì)
- 六年級(jí)下冊(cè)交通生命安全教學(xué)計(jì)劃
- 以實(shí)踐為翼筑牢小學(xué)低段數(shù)感根基
- 統(tǒng)編版四年級(jí)語文上冊(cè)教學(xué)質(zhì)量提升計(jì)劃
- 2025年工程造價(jià)與管理考試題及答案
- 2025年第一季度煙花爆竹安全作業(yè)特種作業(yè)操作證考試試卷(新手實(shí)戰(zhàn)卷)
- 2025年 荊州市荊發(fā)控股集團(tuán)招聘考試筆試試卷附答案
- 2025年新疆生產(chǎn)建設(shè)兵團(tuán)中考語文試卷(含答案)
- 2025年市場(chǎng)營(yíng)銷學(xué)課程期末考試試題及答案
- 礦井調(diào)度員考試題及答案
- 三年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)及答案
- 2025至2030中國(guó)清分機(jī)行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 美國(guó)《GENIUS法案》:合規(guī)穩(wěn)定幣的監(jiān)管框架
- 2024國(guó)家開放大學(xué)電大??啤墩螌W(xué)原理》期末試題及答案試卷號(hào)完整版
- 2025廣東高考物理試題(大題部分)+評(píng)析
評(píng)論
0/150
提交評(píng)論