亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

表格分頁,mysql offset 語句性能問題如何處理?各位有什么建議?

表格分頁,mysql offset 語句性能問題如何處理?各位有什么建議?

慕碼人8056858 2019-08-17 10:54:42
前端BootStrapTable分頁時,一般請求的URL格式/getList?order=asc&offset=0&limit=15后端PHP拿到offset和limit后查詢數據庫語句大致為select*fromxxxwherexxxlimit0,15現在的疑問如果offset過大,比如1000W,那么mysql的offset查詢會導致數據庫卡死。語句大致為select*fromxxxwherexxxlimit10000000,15因為mysql的offset會從前到后計算那么這個場景前后端該如何處理分頁,以及傳遞分頁需要的參數呢?
查看完整描述

2 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

這個問題我開始沒有想太多,直到有一天去百度面試,面試官問了這個問題~~~其實這個卡頓的點不是在于執行的時候,而是系統IO的時候,如果你的數據量太多了,需要IO很長一段時間才能取到你想要的數據,所以你可以用到索引了,正如@scherman答的一樣,你先算出來你這個頁面的具體的id,比如第一頁的數據的id是1-10,第二頁面的id是11-20,當然可能會有中斷,不連續的現象,然后根據id查出你想要的數據,用in用between,用子查詢,這個就看你具體情況了。
                            
查看完整回答
反對 回復 2019-08-17
  • 2 回答
  • 0 關注
  • 280 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號