同樣是取10條數據
select * from user limit 10000,10
select * from user limit 0,10
就不是一個數量級別的。
文中不是直接使用limit,而是首先獲取到offset的id然後直接使用limit size來獲取數據。根據他的數據,明顯要好於直接使用limit。這裡我具體使用數據分兩種情況進行測試。
offset大的時候
select * from user limit 10000,10
多次運行,時間保持在0.0187左右
Select * From user Where vid >=(Select vid From user Order By vid limit 10000,1 ) limit 10
多次運行,時間保持在0.0061左右,只有前者的1/3。可以預計offset越大,後者越優。
以後要注意改正自己的limit語句,優化一下MySQL了