數(shù)據(jù)庫的語句應(yīng)該如何優(yōu)化

這篇文章主要介紹了數(shù)據(jù)庫的語句應(yīng)該如何優(yōu)化,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司是專業(yè)的融安網(wǎng)站建設(shè)公司,融安接單;提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行融安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

在MySQL數(shù)據(jù)庫怎么加快查詢速度,優(yōu)化查詢效率,主要原則就是應(yīng)盡量避免全表掃描,應(yīng)該考慮在where及orderby涉及的列上建立索引。

建立索引不是建的越多越好,原則是:

第一:表里的索引不是越多越好

一個表的索引不是越多越好,也沒有一個具體的數(shù)字,根據(jù)以往的經(jīng)驗(yàn),一個表的索引最多不能超過6個,因?yàn)樗饕蕉?,對update和insert操作也會有性能的影響,涉及到索引的新建和重建操作。

第二:建立索引的方法論為:

多數(shù)查詢經(jīng)常使用的列;

很少進(jìn)行修改操作的列;

索引需要建立在數(shù)據(jù)差異化大的列上

利用以上的基礎(chǔ)我們討論一下如何優(yōu)化sql。

復(fù)合索引(形如(x,y,uid)索引的索引)

先看這樣一條語句這樣的:select*fromuserswherearea=’beijing’andage=22;

如果我們是在area和age上分別創(chuàng)建索引的話,由于mysql查詢每次只能使用一個索引,所以雖然這樣已經(jīng)相對不做索引時全表掃描提高了很多效率,但是如果area,age兩列上創(chuàng)建復(fù)合索引的話將帶來更高的效率。

在使用索引字段作為條件時,如果該索引是復(fù)合索引,那么必須使用到該索引中的第一個字段作為條件時才能保證系統(tǒng)使用該索引,否則該索引將不會被使用,并且應(yīng)盡可能的讓字段順序與索引順序相一致。

例如我們建立了一個這樣的索引(area,age,salary),那么其實(shí)相當(dāng)于創(chuàng)建了(area,age,salary),(area,age),(area)三個索引,這樣稱為最佳左前綴特性。

MySQY語句模型結(jié)構(gòu)優(yōu)化指導(dǎo)

a.ORDERBY+LIMIT組合的索引優(yōu)化

如果一個SQL語句形如:SELECT[column1],[column2],….FROM[TABLE]ORDERBY[sort]LIMIT[offset],[LIMIT];

這個SQL語句優(yōu)化比較簡單,在[sort]這個欄位上建立索引即可。

b.WHERE+ORDERBY+LIMIT組合的索引優(yōu)化

如果一個SQL語句形如:SELECT[column1],[column2],….FROM[TABLE]WHERE[columnX]=[VALUE]ORDERBY[sort]LIMIT[offset],[LIMIT];

這個語句,如果你仍然采用第一個例子中建立索引的方法,雖然可以用到索引,但是效率不高。更高效的方法是建立一個聯(lián)合索引(columnX,sort)

c.WHERE+ORDERBY多個欄位+LIMIT

如果一個SQL語句形如:SELECT*FROM[table]WHEREuid=1ORDERx,yLIMIT0,10;

對于這個語句,大家可能是加一個這樣的索引:(x,y,uid)。但實(shí)際上更好的效果是(uid,x,y)。這是由MySQL處理排序的機(jī)制造成的。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“數(shù)據(jù)庫的語句應(yīng)該如何優(yōu)化”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

網(wǎng)頁標(biāo)題:數(shù)據(jù)庫的語句應(yīng)該如何優(yōu)化
文章路徑:http://bm7419.com/article36/jdepsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)公司網(wǎng)站建設(shè)、虛擬主機(jī)、營銷型網(wǎng)站建設(shè)、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名