日本一区二区三区麻烦视频-国产午夜av在线一区二区三区-日日夜人妻无码中文字幕-亚洲美女毛片在线视频-六月丁香婷综合久久-人妻系列视频免费看看-国内精品国产三级国产ⅴ久久-91大神精品在线视频-成人午夜欧美激情在线视频

 
新聞資訊

發(fā)布日期:2011-05-19 蕭山做網(wǎng)站-MySQL技巧:做好Limit優(yōu)化的幾點(diǎn)建議

建議一:靈活使用Limit 0子句
  根據(jù)Limit關(guān)鍵字的定義,如果參數(shù)為0的話,則其返回的是空記錄。這看起來好像沒有多少的意義。其實(shí)不然。在實(shí)際工作中,靈活使用這個(gè)0參數(shù),能夠給我們帶來很大的收獲。
  如現(xiàn)在數(shù)據(jù)庫工程師想要確認(rèn)一下某個(gè)查詢語句的有效性,如果直接運(yùn)行這個(gè)查詢語句,需要等待其返回的記錄。如果涉及的紀(jì)錄數(shù)量比較多,或者運(yùn)算邏輯比較復(fù)雜,那么需要等到比較長的時(shí)間。此時(shí)就可以在Select查詢語句中,使用Limit 0子句。只要查詢語句沒有語法上的錯(cuò)誤,這就可以讓數(shù)據(jù)庫快速的返回一個(gè)空集合。從而幫助數(shù)據(jù)庫設(shè)計(jì)人員迅速的判斷查詢語句的有效性。另外這個(gè)空集和中還會(huì)返回某個(gè)表的各個(gè)字段的數(shù)據(jù)類型。即通過這個(gè)Limit 0子句還可以查詢某個(gè)表的表結(jié)構(gòu)。
  可見靈活應(yīng)用Limir 0子句,確實(shí)能夠給我們帶來不小的收益。不過需要注意的是,在某些特定的場(chǎng)合下,這個(gè)子句可能不會(huì)奏效。如通常情況下,在Monitor工作環(huán)境中不支持這個(gè)Limit 0子句。此時(shí)結(jié)果只會(huì)顯示Empty Set,而不是我們所需要的結(jié)果。
  建議二:Limit與Group By結(jié)合使用
  Group By關(guān)鍵字主要用來對(duì)數(shù)據(jù)進(jìn)行分類匯總。不過在分類匯總之前,往往需要對(duì)數(shù)據(jù)先進(jìn)性排序。而Limit語句用來指定顯示的結(jié)果數(shù)量時(shí),往往也需要涉及到紀(jì)錄的分類匯總與排序的問題。如現(xiàn)在一個(gè)學(xué)校成績管理系統(tǒng)中,需要對(duì)學(xué)生的總分進(jìn)行排序。即先對(duì)學(xué)生各科成績進(jìn)行匯總,然后顯示其排名為前50的紀(jì)錄。此時(shí)就需要同時(shí)用到Group By子句和Limit子句。其實(shí)從這個(gè)案例中我們也可以看出,這兩個(gè)子句相互依賴的特性。正是因?yàn)檫@種特性(經(jīng)常相互結(jié)合使用),為此結(jié)合Group By子句可以提高Limit的查詢效率。
  這主要是因?yàn)閮烧呷绻黄鹗褂玫脑挘琇imit關(guān)鍵字將不會(huì)再重復(fù)計(jì)算任何不必要的Group By的值。換句話說,在某些情況下,Group By子句能夠通過順序來讀取鍵或者在鍵上做排序來解決分類匯總時(shí)的排序問題,然后再計(jì)算摘要直到關(guān)鍵字的值的改變?yōu)橹?。如此的話,兩個(gè)子句所需要做的一些共同性的工作,只要做一次即可。這就可以從另外一次角度用來提高應(yīng)用系統(tǒng)的性能。相比先做一個(gè)視圖對(duì)數(shù)據(jù)進(jìn)行分類匯總的運(yùn)算,再使用一個(gè)查詢語句來抽取特定數(shù)量的記錄,效率就要高一點(diǎn)。因?yàn)楹笳呤菍蓚€(gè)子句分開來使用,就無法享受到結(jié)合使用所體現(xiàn)的優(yōu)勢(shì)。
        以上是我們蕭山網(wǎng)絡(luò)公司技術(shù)人員整理的幾點(diǎn)建議,希望對(duì)網(wǎng)絡(luò)愛好者有用。