一般情况下,通过传递页码和每页条数两个参数去分页查询数据库中的数据,在数据量较小(万级以下)时使用MySQL自带的limit来解决分页问题、在数据量较小的时候使用limit进行数据分页在性能上不会有明显的缓慢。
但是当数据量达到了万级以上的时候性能将会降低,会造成深度分页的问题,这个时候可以利用主键或唯一索引进行数据分页优化。但是要注意主键必须是自增,而且该方式不支持随机跳页,智能上下翻页。
还有一种解决方案是通过Elastic Search搜索引擎,比如淘宝基本上就是把所有商品放进ES搜索引擎,淘宝商品这么海量的数据放进MySQL和Redis都不合适。但是仍然可能发生深度分页的问题,怎么解决呢,答案是通过游标,有关搜索引擎和游标的。