溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQLlimit中怎樣優(yōu)化查詢

發(fā)布時間:2021-08-06 13:59:43 來源:億速云 閱讀:110 作者:Leah 欄目:數(shù)據(jù)庫

本篇文章為大家展示了MySQLlimit中怎樣優(yōu)化查詢,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

MySQLlimit怎樣查詢優(yōu)化

  同樣是取10條數(shù)據(jù)

  select*fromyanxue8_visitlimit10000,10select*fromyanxue8_visitlimit0,10

  就不是一個數(shù)量級別的。

  網(wǎng)上也很多關于limit的五條優(yōu)化準則,都是翻譯自MySQL手冊,雖然正確但不實用。今天發(fā)現(xiàn)一篇文章寫了些關于limit優(yōu)化的,很不錯。

  文中不是直接使用limit,而是首先獲取到offset的id然后直接使用limitsize來獲取數(shù)據(jù)。根據(jù)他的數(shù)據(jù),明顯要好于直接使用limit。這里我具體使用數(shù)據(jù)分兩種情況進行測試。(測試環(huán)境win2033+p4雙核(3GHZ)+4G內(nèi)存MySQLlimit查詢)

  MySQLlimit怎樣查詢優(yōu)化

  1、offset比較小的時候

  select*fromyanxue8_visitlimit10,10

  多次運行,時間保持在0.0004-0.0005之間

  Select*Fromyanxue8_visitWherevid>=(SelectvidFromyanxue8_visitOrderByvidlimit10,1)limit10

  多次運行,時間保持在0.0005-0.0006之間,主要是0.0006

  結論:偏移offset較小的時候,直接使用limit較優(yōu)。這個顯然是子查詢的原因。

  2、offset大的時候

  select*fromyanxue8_visitlimit10000,10

  多次運行,時間保持在0.0187左右

  Select*Fromyanxue8_visitWherevid>=(SelectvidFromyanxue8_visitOrderByvidlimit10000,1)limit10

  多次運行,時間保持在0.0061左右,只有前者的1/3??梢灶A計offset越大,后者越優(yōu)。

  以后要注意改正自己的limit語句,優(yōu)化一下MySQL了

上述內(nèi)容就是MySQLlimit中怎樣優(yōu)化查詢,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI