MySQL對(duì)limit查詢(xún)語(yǔ)句的優(yōu)化方法
當(dāng)我們的網(wǎng)站達(dá)到一定的規(guī)模時(shí),網(wǎng)站的各種優(yōu)化是必須要進(jìn)行的。而網(wǎng)站的優(yōu)化中,針對(duì)數(shù)據(jù)庫(kù)各種優(yōu)化是最重點(diǎn)的了。下面作者將要和大家分享一下MySQL數(shù)據(jù)庫(kù)中的查詢(xún)語(yǔ)句有關(guān)limit語(yǔ)句的優(yōu)化。
大家都知道一般limit是用在分頁(yè)的程序的分頁(yè)上的,當(dāng)你的應(yīng)用數(shù)據(jù)量夠小的時(shí)候,也許你感覺(jué)不到limit語(yǔ)句的任何問(wèn)題,但當(dāng)查詢(xún)數(shù)據(jù)量達(dá)到一定程度的時(shí)候,limit的性能就會(huì)急劇下降。這個(gè)是通過(guò)大量實(shí)例得出來(lái)的結(jié)論。
下面通過(guò)具體的案例來(lái)說(shuō)明,這里是對(duì)同一張表在不同的地方取10條數(shù)據(jù):
(1)offset比較小的時(shí)候
這條SQL語(yǔ)句多次運(yùn)行,時(shí)間保持在0.0004-0.0005之間。
這條SQL語(yǔ)句多次運(yùn)行,時(shí)間保持在0.0005-0.0006之間,主要是0.0006。
結(jié)論:偏移offset較小的時(shí)候,直接使用limit較優(yōu)。這個(gè)顯然是子查詢(xún)的原因。
(2)offset大的時(shí)候
這條SQL語(yǔ)句多次運(yùn)行,時(shí)間保持在0.0187左右
這條SQL語(yǔ)句多次運(yùn)行,時(shí)間保持在0.0061左右,只有前者的1/3??梢灶A(yù)計(jì)offset越大,后者越優(yōu)。
經(jīng)過(guò)以上對(duì)比,我們得出一個(gè)結(jié)論是使用limit語(yǔ)句時(shí),當(dāng)數(shù)據(jù)量偏移量較小的時(shí)候可以直接使用limit,當(dāng)數(shù)據(jù)量偏移量較大的時(shí)候,我們可以適當(dāng)?shù)氖褂米硬樵?xún)來(lái)做相關(guān)的性能優(yōu)化。
相關(guān)文章
阿里云ECS云服務(wù)器(linux系統(tǒng))安裝mysql后遠(yuǎn)程連接不了(踩坑)
這篇文章主要介紹了阿里云ECS云服務(wù)器(linux系統(tǒng))安裝mysql后遠(yuǎn)程連接不了(踩坑),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
mysql之過(guò)濾分組的具體實(shí)現(xiàn)
在MySQL中過(guò)濾分組數(shù)據(jù)通常使用GROUP BY結(jié)合HAVING子句和WHERE子句,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
MySQL查詢(xún)優(yōu)化之explain的深入解析
本篇文章是對(duì)MySQL查詢(xún)優(yōu)化中的explain進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
Python MySQL進(jìn)行數(shù)據(jù)庫(kù)表變更和查詢(xún)
這篇文章主要介紹了Python MySQL進(jìn)行數(shù)據(jù)庫(kù)表變更和查詢(xún)的相關(guān)資料,需要的朋友可以參考下2017-05-05
Mysql?InnoDB?B+樹(shù)索引目錄項(xiàng)記錄頁(yè)管理
這篇文章主要為大家介紹了Mysql?InnoDB?B+樹(shù)索引目錄項(xiàng)記錄頁(yè)管理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
MySQL主從同步機(jī)制與同步延時(shí)問(wèn)題追查過(guò)程
這篇文章主要給大家介紹了關(guān)于MySQL主從同步機(jī)制與同步延時(shí)問(wèn)題追查的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
Mysql鎖內(nèi)部實(shí)現(xiàn)機(jī)制之C源碼解析
數(shù)據(jù)庫(kù)之所以要加鎖,因?yàn)閿?shù)據(jù)庫(kù)是一個(gè)多用戶(hù)使用的共享資源。當(dāng)多個(gè)用戶(hù)并發(fā)地存取數(shù)據(jù)時(shí),在數(shù)據(jù)庫(kù)中就會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況。若對(duì)并發(fā)操作不加控制就可能會(huì)讀取和存儲(chǔ)不正確的數(shù)據(jù),破壞數(shù)據(jù)庫(kù)的一致性2022-08-08

