limit優化對于站長來說是經常會要用到了,同樣的資料不同做法可以提升不少的性能了,下面我們來看一篇關于mysql資料庫limit優化例子,具體如下。
今天看到一篇文章講的就是mysql資料有100萬的時候,分頁的時候,查詢非常慢,針對這個問題講優化方案
實驗準備
這裡我準備了1000萬資料的一張表,進行測試
預設分頁情況下
select id,username,age,word from demo limit 101,10;
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iM2UDNzYmMyUDZ5ImZ5AzNmBjYzUzMmNzN3M2MwYjNl9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
select id,username,age,word from demo limit 100001,10;
對比上面的查詢可以看到,limit的資料越往後查詢花費的時間就越長
上面的對比不明顯,那麼我們下面查詢的大點的資料
select id,username,age,word from demo limit 8000001,10;
這個時間是否有吓到你,如果不優化,分分鐘你的網站就會崩掉
解決方法
看一下單查id的執行時間
select id from demo limit 8000001,1
把分頁的代碼修改成
select id,username,age,word from demo where id>(select id from demo limit 8000001,1) limit 10;
sql的執行效率提升了一半,已經提升很大