怎麼解決Mysql的超大分頁

2021-10-12 10:04:06 字數 444 閱讀 3381

用id優化

先找到上次分頁的最大id,然後利用id上的索引來查詢,類似於select * from user where id>1000000 limit 100.

這樣的效率非常快,因為主鍵上是有索引的,但是這樣有個缺點,就是id必須是連續的,並且查詢不能有where語句,因為where語句會造成過濾資料.

用覆蓋索引優化

mysql的查詢完全命中索引的時候,稱為覆蓋索引,是非常快的,因為查詢只需要在索引上進行查詢,之後可以直接返回,而不用再回資料表拿資料.因此我們可以先查出索引的id,然後根據id拿資料.

select * from (select id from job limit 1000000,100) a left join job b on a.id = b.id;

MySQL的limit使用及解決超大分頁問題

limit語法支援兩個引數,offset和limit,前者表示偏移量,後者表示取前limit條資料.例如 返回符合條件的前10條語句select from user limit 10返回符合條件的第11 20條資料select from user limit10,20複製 從上面也可以看出來,lim...

MySQL優化教程之超大分頁查詢

基本上只要是做後台開發,都會接觸到分頁這個需求或者功能吧。基本上大家都是會用mysql的limit來處理,而且我現在負責的專案也是這樣寫的。但是一旦資料量起來了,其實limit的效率會極其的低,這一篇文章就來講一下limit子句優化的。很多業務場景都需要用到分頁這個功能,基本上都是用limit來實現...

MySQL limit使用方法以及超大分頁問題解決

前言 日常開發中,我們使用mysql來實現分頁功能的時候,總是會用到mysql的limit語法.而怎麼使用卻很有講究的,今天來總結一下.limit語法 limit語法支援兩個引數,offset和limit,前者表示偏移量,後者表示取前limit條資料.例如 返回符合條件的前10條語句 select ...