MySQL對limit查詢語句的優(yōu)化方法
當(dāng)我們的網(wǎng)站達(dá)到一定的規(guī)模時,網(wǎng)站的各種優(yōu)化是必須要進(jìn)行的。而網(wǎng)站的優(yōu)化中,針對數(shù)據(jù)庫各種優(yōu)化是最重點的了。下面作者將要和大家分享一下MySQL數(shù)據(jù)庫中的查詢語句有關(guān)limit語句的優(yōu)化。
大家都知道一般limit是用在分頁的程序的分頁上的,當(dāng)你的應(yīng)用數(shù)據(jù)量夠小的時候,也許你感覺不到limit語句的任何問題,但當(dāng)查詢數(shù)據(jù)量達(dá)到一定程度的時候,limit的性能就會急劇下降。這個是通過大量實例得出來的結(jié)論。
下面通過具體的案例來說明,這里是對同一張表在不同的地方取10條數(shù)據(jù):
(1)offset比較小的時候
這條SQL語句多次運行,時間保持在0.0004-0.0005之間。
這條SQL語句多次運行,時間保持在0.0005-0.0006之間,主要是0.0006。
結(jié)論:偏移offset較小的時候,直接使用limit較優(yōu)。這個顯然是子查詢的原因。
(2)offset大的時候
這條SQL語句多次運行,時間保持在0.0187左右
這條SQL語句多次運行,時間保持在0.0061左右,只有前者的1/3。可以預(yù)計offset越大,后者越優(yōu)。
經(jīng)過以上對比,我們得出一個結(jié)論是使用limit語句時,當(dāng)數(shù)據(jù)量偏移量較小的時候可以直接使用limit,當(dāng)數(shù)據(jù)量偏移量較大的時候,我們可以適當(dāng)?shù)氖褂米硬樵儊碜鱿嚓P(guān)的性能優(yōu)化。
相關(guān)文章
阿里云ECS云服務(wù)器(linux系統(tǒng))安裝mysql后遠(yuǎn)程連接不了(踩坑)
這篇文章主要介紹了阿里云ECS云服務(wù)器(linux系統(tǒng))安裝mysql后遠(yuǎn)程連接不了(踩坑),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
Python MySQL進(jìn)行數(shù)據(jù)庫表變更和查詢
這篇文章主要介紹了Python MySQL進(jìn)行數(shù)據(jù)庫表變更和查詢的相關(guān)資料,需要的朋友可以參考下2017-05-05
Mysql鎖內(nèi)部實現(xiàn)機(jī)制之C源碼解析
數(shù)據(jù)庫之所以要加鎖,因為數(shù)據(jù)庫是一個多用戶使用的共享資源。當(dāng)多個用戶并發(fā)地存取數(shù)據(jù)時,在數(shù)據(jù)庫中就會產(chǎn)生多個事務(wù)同時存取同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就可能會讀取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性2022-08-08

