MySQL高效分页详细解决方案
通常,分页策略用于大MySQL数据的查询,但是如果页面转向相对落后的位置,查询将变得非常缓慢,因为MySQL将花费大量时间扫描需要丢弃的数据。
基本的分页技术
一般来说,为了实现高效分页,应用查询中的行和行序列的组合索引。
例如,建立索引(A,B,C)使得下面的查询使用一个索引来提高查询效率:
1、字段排序
以一个
A、B订单
a,b,c的顺序
通过描述,B DESC,C类
2,筛选和排序
其中a=b,c
凡= const和B = const为C
其中a=b,c
凡= const和B>B常量,C
三.下面的查询无法使用上面的索引
由ASC、B DESC序、C / /排序降序方向不一致
在b中,g的顺序是不被索引的。
其中一个由C/O /否的常量顺序使用字段B
其中a,d,d字段的常量顺序不是索引的一部分
解决大数据量页面问题
1,将限制m,n的查询改为限制n
例如,极限10000,20使用,MySQL将需要阅读前10000线,20线,然后回来,这是非常低效的,限制使用N,第一页或身份做筛选条件的最后一条记录,再加上上升和下降的起床 /下一个页面的结果集。
2。限制页数
在产品实际使用过程中,用户很少关心搜索结果的第一个百万数据。
三.使用延迟协会
通过使用覆盖索引检索所需的主键,并根据返回的主键从原始表获得所需的行,它可以减少MySQL扫描中要丢弃的行数。
实例uff1a
使用性(等级)查询:
从配置文件内部连接中选择(
从>配置文件中选择
在x.sex = 'm'order的等级限制,100000, 10
为x(使用)>);
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。