MySQL對limit查詢語句的優化辦法。本站提示廣大學習愛好者:(MySQL對limit查詢語句的優化辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL對limit查詢語句的優化辦法正文
當我們的網站到達必定的范圍時,網站的各類優化是必需要停止的。而網站的優化中,針對數據庫各類優化是最重點的了。上面作者將要和年夜家分享一下MySQL數據庫中的查詢語句有關limit語句的優化。
年夜家都曉得普通limit是用在分頁的法式的分頁上的,當你的運用數據量夠小的時刻,或許你感到不到limit語句的任何成績,但當查詢數據量到達必定水平的時刻,limit的機能就會急劇降低。這個是經由過程年夜量實例得出來的結論。
上面經由過程詳細的案例來講明,這裡是對統一張表在分歧的處所取10條數據:
(1)offset比擬小的時刻
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,當數據量偏移量較年夜的時刻,我們可以恰當的應用子查詢來做相干的機能優化。