《Mysql應用MySQL對limit查詢語句的優化方法》要點:
本文介紹了Mysql應用MySQL對limit查詢語句的優化方法,希望對您有用。如果有疑問,可以聯系我們。
當我們的網站達到一定的規模時,網站的各種優化是必須要進行的.而網站的優化中,針對數據庫各種優化是最重點的了.下面作者將要和大家分享一下MySQL數據庫中的查詢語句有關limit語句的優化.MYSQL必讀
大家都知道一般limit是用在分頁的程序的分頁上的,當你的應用數據量夠小的時候,也許你感覺不到limit語句的任何問題,但當查詢數據量達到一定程度的時候,limit的性能就會急劇下降.這個是通過大量實例得出來的結論.MYSQL必讀
下面通過具體的案例來說明,這里是對同一張表在不同的地方取10條數據:
(1)offset比較小的時候
MYSQL必讀
代碼如下:
select * from user limit 10,10;
這條SQL語句多次運行,時間保持在0.0004-0.0005之間.
代碼如下:
Select * From user Where uid >=( Select uid From user Order By uid limit 10,1 ) limit 10;
這條SQL語句多次運行,時間保持在0.0005-0.0006之間,主要是0.0006.
結論:偏移offset較小的時候,直接使用limit較優.這個顯然是子查詢的原因.
(2)offset大的時候
代碼如下:
select * from user limit 10000,10;
這條SQL語句多次運行,時間保持在0.0187左右
代碼如下:
Select * From user Where uid >=( Select uid From user Order By uid limit 10000,1 ) limit 10;
這條SQL語句多次運行,時間保持在0.0061左右,只有前者的1/3.可以預計offset越大,后者越優.
經過以上對比,我們得出一個結論是使用limit語句時,當數據量偏移量較小的時候可以直接使用limit,當數據量偏移量較大的時候,我們可以適當的使用子查詢來做相關的性能優化.MYSQL必讀
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/1606.html