mysql教程海量數據分頁優化代碼
page 表示頁碼
pagesize 表示每頁的顯示數量
conditon 表示一些條件view sourceprint?1 select * from table where conditon order by id limit (page-1)*pagesize,pagesize;
這樣分頁在早期沒有出現什麼問題,但當表裡的數據達到了100W,慢慢就出現問題了,搜索幾百頁的時候,經常要用到2秒多 上網搜索了一下,網上的改法可以參考一下,暫時解決問題
SELECT sql_no_cache *FROM table WHERE id>=(SELECTsql_no_cache id FROM table where conditon ORDER BY id DESC LIMIT 126380,1) limit 20;
緩存。這樣一改0.0幾秒就可以搞掂了,其實這樣改主要是因為用到了索引id。
audit=1 AND share=1
我表的索引設計是,主鍵是id,audit和share是聯合索引