999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數(shù)據(jù)庫的查詢優(yōu)化方法分析

2014-04-29 00:00:00權(quán)騰云
科海故事博覽·科教論壇 2014年4期

摘要:本文主要探討了在數(shù)據(jù)庫的應(yīng)用中對數(shù)據(jù)庫查詢優(yōu)化的一些策略,其中包括基于索引、SQL語句的優(yōu)化的方法,并簡要對其他一些常用方法做了介紹。

關(guān)鍵詞:數(shù)據(jù)庫 查詢優(yōu)化 查詢 優(yōu)化

引言

隨著計(jì)算機(jī)應(yīng)用的深入,計(jì)算機(jī)技術(shù)的成熟,各種應(yīng)用軟件的普及,應(yīng)用數(shù)據(jù)也隨著日常工作而迅速增長,作為數(shù)據(jù)倉庫的數(shù)據(jù)庫的重要性也日益顯著。

一、基于索引的優(yōu)化

數(shù)據(jù)庫的優(yōu)化方法多種多樣,不同的方法對提高數(shù)據(jù)庫查詢效率也不相同。

索引作為數(shù)據(jù)庫中的重要數(shù)據(jù)結(jié)構(gòu),它的根本目的就是為了提高查詢的效率。而優(yōu)化查詢的重要方法就是建立索引,建立適合關(guān)系數(shù)據(jù)庫系統(tǒng)的索引,這樣就可以避免表掃描,并減少了因?yàn)椴樵兌斐傻妮斎胼敵鲩_銷,有效提高數(shù)據(jù)庫數(shù)據(jù)的查詢速度,優(yōu)化了數(shù)據(jù)庫性能。然而在創(chuàng)建索引時(shí)也增加了系統(tǒng)時(shí)間和空間的開銷。所以創(chuàng)建索引時(shí)應(yīng)該與實(shí)際查詢需求相結(jié)合,這樣才能實(shí)現(xiàn)真正的優(yōu)化查詢。

1.判斷并建立必要的索引 對所要?jiǎng)?chuàng)建的索引進(jìn)行正確的判斷,使所創(chuàng)建的索引對數(shù)據(jù)庫的工作效率提高有所幫助。為了實(shí)現(xiàn)這一點(diǎn),我們應(yīng)做到以下要求:在熟記數(shù)據(jù)庫程序中的相關(guān)SQL語句的前提下,統(tǒng)計(jì)出常用且對性能有影響的語句;判斷數(shù)據(jù)庫系統(tǒng)中哪些表的哪些字段要建立索引。其次,對數(shù)據(jù)庫中操作頻繁的表,數(shù)據(jù)流量較大的表,經(jīng)常需要與其他表進(jìn)行連接的表等,要進(jìn)行重點(diǎn)關(guān)注。這些表上的索引將對SQL語句的性能產(chǎn)生重要的影響。

2.對索引使用的一些規(guī)則 索引的使用在一些大型數(shù)據(jù)庫系統(tǒng)中會經(jīng)常使用到,這樣可以有效的提高數(shù)據(jù)庫性能,使數(shù)據(jù)庫的訪問速度得到提高。但索引的使用要恰倒好處,所以我們在使用索引時(shí)應(yīng)遵守使用原則:建立索引可以提高數(shù)據(jù)庫的查詢速度,但索引過多,不但不能實(shí)現(xiàn)優(yōu)化查詢,反而會影響到數(shù)據(jù)庫的整體性能。索引作為數(shù)據(jù)庫中實(shí)際存在的對象,每個(gè)索引都要占用一定的物理空間。所以對于索引的建立要考慮到物理空間容量,以及所建立索引的必要性和實(shí)用性。

3.合理的索引對SQL語句的意義 索引建立之后,還要確保其得到了真正的使用,發(fā)揮了其應(yīng)有的作用。首先,可以通過SQL語句查詢來確定所建立的索引是否得到了使用,找出沒有使用到的索引。分析索引建立但沒有使用的原因,使其真正發(fā)揮作用。其次,索引得到使用以后,是否得到了預(yù)期的效果,對數(shù)據(jù)庫的性能是否實(shí)現(xiàn)了真正意義上的提高,只有合理的索引才能真正提高數(shù)據(jù)庫的性能。

二、優(yōu)化SQL語句

在使用索引時(shí)可以有效的提高查詢速度,但如果SQL語句使用不恰當(dāng)?shù)脑挘⒌乃饕筒荒馨l(fā)揮其作用。所以我們應(yīng)該做到不但會寫SQL,還要寫出性能優(yōu)良的SQL語句。下面,就如何優(yōu)化引用例子進(jìn)行說明。

首先,在進(jìn)行查詢時(shí),返回的值應(yīng)該是查詢所需要的。在查詢中應(yīng)該盡量減少對數(shù)據(jù)庫中的表的訪問行數(shù),使查詢的結(jié)果范圍最小,這就意味著在查詢時(shí),不能過多的使用通配符,如:select*from table1語句,而應(yīng)該做到最小化查詢范圍,要查詢幾行幾列就選擇幾行幾列,如:select col1 from table1;多數(shù)情況下,用戶并不需要查詢到的所有數(shù)據(jù),而只是部分或靠前的數(shù)據(jù)時(shí),我們也可以通過SQL語句來進(jìn)行限制查詢的結(jié)果,如:select top 50 col1 from table1。

其次,對于一些特殊的SQL語句,在使用時(shí)應(yīng)正確選擇。我們用一組例子來說明,如:EXISTS,NOT EXISTS。

語句一:select sum(t1.c1) from t1 where((select count(*)from t2 where t2.c2=t1.c2)>0)

語句二:select sum(t1.c1) from t1 where exists(select*from t2 where t2.c2=t1.c1)

兩個(gè)語句所得到的結(jié)果相同,但,語句二的效率要遠(yuǎn)高于語句一,因?yàn)檎Z句一在查詢中產(chǎn)生了大量的索引掃描。

在對數(shù)據(jù)庫查詢時(shí),所使用的語句多種多樣,但選擇恰當(dāng)?shù)牡淖志淠軌蛴行У奶岣卟樵冃省?/p>

最后,WHERE子句在使用時(shí)應(yīng)該注意的問題。

在WHERE子句中可以使用exist和not exist代替in和not in。應(yīng)該盡量避免使用in,not in,or或者h(yuǎn)aving。可以使用表鏈接代替 exist。Having可以用where代替,如果無法代替可以分兩步處理。

三、他優(yōu)化方法

據(jù)庫的查詢優(yōu)化方法不僅僅是索引和SQL語句的優(yōu)化,其他方法的合理使用同樣也能很好的對數(shù)據(jù)庫查詢功能起到優(yōu)化作用。我們就來列舉幾種簡單實(shí)用的方法。

1.避免或簡化排序 當(dāng)簡化或避免對大型表進(jìn)行重復(fù)的排序。當(dāng)能夠利用索引自動(dòng)以適當(dāng)?shù)拇涡虍a(chǎn)生輸出時(shí),優(yōu)化器就避免了排序的步驟。

2.避免相關(guān)子查詢 果在主查詢和WHERE子句中的查詢中同時(shí)出現(xiàn)了一個(gè)列的標(biāo)簽,這樣就會使主查詢的列值改變后,子查詢也必須重新進(jìn)行一次查詢。因?yàn)椴樵兊那短讓哟卧蕉啵樵兊男示蜁档停晕覀儜?yīng)當(dāng)避免子查詢。如果無法避免,就要在查詢的過程中過濾掉盡可能多的。

3.創(chuàng)建使用臨時(shí)表 表的一個(gè)子集進(jìn)行排序并創(chuàng)建臨時(shí)表,也能實(shí)現(xiàn)加速查詢。在一些情況下這樣可以避免多重排序操作。但所創(chuàng)建的臨時(shí)表的行要比主表的行少,其物理順序就是所要求的順序,這樣就減少了輸入和輸出,降低了查詢的工作量,提高了效率,而且臨時(shí)表的創(chuàng)建并不會反映主表的修改。

結(jié)論

對于數(shù)據(jù)庫的優(yōu)化,我們要抓住關(guān)鍵問題,提出改善查詢效率,這樣才能真正使數(shù)據(jù)庫服務(wù)得到根本提高。本文在對數(shù)據(jù)庫查詢優(yōu)化的方法上,進(jìn)行了分析,提出了部分見解,有效的提高數(shù)據(jù)庫查詢效率。

主站蜘蛛池模板: 99ri精品视频在线观看播放| 欧美在线视频不卡第一页| 欧美在线免费| 伊人久久婷婷| 国产美女视频黄a视频全免费网站| 亚洲国产清纯| 啦啦啦网站在线观看a毛片| 免费无码又爽又刺激高| av在线人妻熟妇| 亚洲精品国偷自产在线91正片 | 亚洲精品国产精品乱码不卞| 福利国产微拍广场一区视频在线| 亚洲啪啪网| 久久情精品国产品免费| 国产凹凸一区在线观看视频| 日韩成人在线一区二区| 亚洲最大情网站在线观看| a毛片在线| 在线观看无码a∨| 国产精品亚洲一区二区三区z | 国产亚洲欧美日本一二三本道| 亚洲三级视频在线观看| 久久国产精品电影| 国产人人乐人人爱| 三上悠亚精品二区在线观看| 一级看片免费视频| 国产一区二区三区夜色| 色综合激情网| 小说区 亚洲 自拍 另类| 欧美一区二区三区香蕉视| 久久国产精品麻豆系列| 国产亚洲精品自在线| 亚洲高清免费在线观看| 91免费国产在线观看尤物| 国产一区二区福利| 无码福利视频| 亚洲人网站| 亚洲美女视频一区| 在线99视频| 亚洲精品国产首次亮相| 天天综合网在线| 亚洲一区二区在线无码| 欧美第二区| 欧美成人精品一区二区 | 婷婷亚洲视频| 天堂成人在线视频| 美女无遮挡拍拍拍免费视频| 亚洲一欧洲中文字幕在线| 久久久久亚洲精品成人网| 亚洲中文字幕久久精品无码一区| 91av成人日本不卡三区| 91在线中文| 男女男精品视频| 国产美女一级毛片| AV色爱天堂网| 女人18一级毛片免费观看| 午夜毛片福利| 日韩中文精品亚洲第三区| 国产v精品成人免费视频71pao| 亚洲国产成人超福利久久精品| 制服丝袜一区| 在线国产毛片手机小视频| 久久不卡国产精品无码| 免费观看国产小粉嫩喷水| 色婷婷亚洲综合五月| 在线观看欧美国产| 成人日韩精品| 精品剧情v国产在线观看| 国产乱论视频| 久久久波多野结衣av一区二区| 国产精品自在拍首页视频8| 91麻豆精品视频| 高清无码一本到东京热| 青青操国产视频| 成人免费一级片| 天天做天天爱夜夜爽毛片毛片| 伊人福利视频| 国产精品三级av及在线观看| 性激烈欧美三级在线播放| 99久久国产精品无码| 九色最新网址| 亚洲综合专区|