mysql - 千萬資料 分頁,當偏移量 原來越大時,怎麼優化速度
伊谢尔伦
伊谢尔伦 2017-05-18 10:48:01
0
2
901

以mysql為例,一般資料量比較大的時候,分頁的話,偏移量約大,查詢效率越低,

例如有某個貼文有200萬個評論,每頁顯示10條,就有20萬頁, 當取20萬頁,數據該怎麼處理呢,有什麼好的方法可以解決這種需求呢,

實例:網易音樂,單一歌曲最大評論數有140多萬,分頁速度處理的很好的,

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(2)
给我你的怀抱

第一我相信網易音樂讀取資料的方式絕對是使用nosql,去讀取資料。
當然假如你的資料表存取頻率不高的話,還是可以直接讀取資料庫,當然mysql innodb庫有個坑爹的弱點,就是你查詢頁數越大,所以的效果就越小。所以一般我們是透過id去提高查詢的效果
舊的查詢用法 limit 100000,10 建議查詢用法 where id > 100000 limit 10。這樣可以保證到索引的使用。
當然你可以使用分錶的形式,降低單表數據,從而提高查詢效率

PHPzhong

如果用redis的化應該是將id都存在list中,然後利用redis取得list的某個片段,然後拿片段裡的ID到mysql去查詢結果。

當然如果你要加上排序的話就沒轍了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板