亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡,我們將竭誠為您提供優(yōu)質的服務! 誠征網(wǎng)絡推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發(fā)消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

MySQL技巧:做好Limit優(yōu)化

添加時間:2011-3-18  添加: admin 

我們在查詢數(shù)據(jù)時,往往需要指定返回幾行數(shù)據(jù)。如現(xiàn)在有一個B/S架構的應用程序,其每一頁可能只顯示30條記錄。此時為了提高顯示的效率,一般就要求數(shù)據(jù)庫一次只返回三十條紀錄。等用戶按下一頁的時候,再從數(shù)據(jù)庫中返回30條記錄,以此類推。這可以縮短數(shù)據(jù)顯示的時間。當查詢的基表比較大時,這個措施非常有效。此時可以使用Limit關鍵字來實現(xiàn)這個需求。Limit子句可以被用于強制Select查詢語句返回指定的記錄數(shù)量。

  通常情況下,Limit關鍵字可以接受一個或者兩個數(shù)字參數(shù)。需要注意的是,這個參數(shù)必須是一個整數(shù)常量。如果用戶給定兩個參數(shù),則第一個參數(shù)表示第一個返回記錄行的偏移量,第二個參數(shù)則表示返回記錄行的最大數(shù)據(jù)。另外需要提醒的是,初始記錄行的偏移量是0,而不是1。不少用戶會在這里犯錯誤。

  雖然使用了Limit語句來限制返回的記錄數(shù),從而可以提高應用程序的工作效率。但是其也會給系統(tǒng)的性能帶來一些負面影響。如可能會導致全表掃描等等。為此筆者給出一些Limit關鍵字的優(yōu)化的建議,以供大家參考。

  建議一:靈活使用Limit 0子句

  根據(jù)Limit關鍵字的定義,如果參數(shù)為0的話,則其返回的是空記錄。這看起來好像沒有多少的意義。其實不然。在實際工作中,靈活使用這個0參數(shù),能夠給我們帶來很大的收獲。

  如現(xiàn)在數(shù)據(jù)庫工程師想要確認一下某個查詢語句的有效性,如果直接運行這個查詢語句,需要等待其返回的記錄。如果涉及的紀錄數(shù)量比較多,或者運算邏輯比較復雜,那么需要等到比較長的時間。此時就可以在Select查詢語句中,使用Limit 0子句。只要查詢語句沒有語法上的錯誤,這就可以讓數(shù)據(jù)庫快速的返回一個空集合。從而幫助數(shù)據(jù)庫設計人員迅速的判斷查詢語句的有效性。另外這個空集和中還會返回某個表的各個字段的數(shù)據(jù)類型。即通過這個Limit 0子句還可以查詢某個表的表結構。

  可見靈活應用Limir 0子句,確實能夠給我們帶來不小的收益。不過需要注意的是,在某些特定的場合下,這個子句可能不會奏效。如通常情況下,在Monitor工作環(huán)境中不支持這個Limit 0子句。此時結果只會顯示Empty Set,而不是我們所需要的結果。

  建議二:Limit與Group By結合使用

  Group By關鍵字主要用來對數(shù)據(jù)進行分類匯總。不過在分類匯總之前,往往需要對數(shù)據(jù)先進性排序。而Limit語句用來指定顯示的結果數(shù)量時,往往也需要涉及到紀錄的分類匯總與排序的問題。如現(xiàn)在一個學校成績管理系統(tǒng)中,需要對學生的總分進行排序。即先對學生各科成績進行匯總,然后顯示其排名為前50的紀錄。此時就需要同時用到Group By子句和Limit子句。其實從這個案例中我們也可以看出,這兩個子句相互依賴的特性。正是因為這種特性(經(jīng)常相互結合使用),為此結合Group By子句可以提高Limit的查詢效率。

  這主要是因為兩者如果一起使用的話,Limit關鍵字將不會再重復計算任何不必要的Group By的值。換句話說,在某些情況下,Group By子句能夠通過順序來讀取鍵或者在鍵上做排序來解決分類匯總時的排序問題,然后再計算摘要直到關鍵字的值的改變?yōu)橹埂H绱说脑挘瑑蓚子句所需要做的一些共同性的工作,只要做一次即可。這就可以從另外一次角度用來提高應用系統(tǒng)的性能。相比先做一個視圖對數(shù)據(jù)進行分類匯總的運算,再使用一個查詢語句來抽取特定數(shù)量的記錄,效率就要高一點。因為后者是將兩個子句分開來使用,就無法享受到結合使用所體現(xiàn)的優(yōu)勢。

關健詞:Limit優(yōu)化

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網(wǎng)絡有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報有獎  警警  手機打開網(wǎng)站