覆盖索引和超大分页优化
覆盖索引
覆盖索引:查询使用了索引,且需要返回的列在索引中全部能找到
根据主键查询的sql语句必然是覆盖索引:
主键为聚集索引,索引中包含所有数据
非聚集索引中包含主键,所以查询二级索引和对应主键的查询语句也是覆盖索引
非覆盖索引:需要回表查询
MySQL超大分页优化
使用覆盖索引解决
在数据量较大时,使用limit进行分页查询,越向后,查询效率越低(深度分页)
创建覆盖索引可以较好地提高性能,通过覆盖索引加子查询进行优化
对分页查询语句使用覆盖索引只查询主键,通过子查询对查到的主键进行连表,避免大量数据的回表查询