1. 程式人生 > >MySQL分頁查詢 offset

MySQL分頁查詢 offset

mysql的分頁查詢一直都有個疑問,如果我要查詢第十頁的內容(偏移量offset 90),前面的90條內容在查詢過程中有沒有被查詢過,今天終於找到了答案。

其實mysql是先查詢前10頁(比如前100條),然後把前90條丟棄,返回需要的91到100條資料。資料量小的時候沒什麼問題,如果資料量大的話就會嚴重影響效能。

現在給出一種解決方案,先查找出91到100條資料的id,然後再獲取需要的資料,如下:

select a.field1,a.field2 from table1 a,(select id from table1 limit 100,10) b where a.id = b.id