Java面试题:覆盖索引和超大分页优化

覆盖索引和超大分页优化

覆盖索引

覆盖索引:查询使用了索引,且需要返回的列在索引中全部能找到

根据主键查询的sql语句必然是覆盖索引:

主键为聚集索引,索引中包含所有数据

非聚集索引中包含主键,所以查询二级索引和对应主键的查询语句也是覆盖索引

非覆盖索引:需要回表查询

MySQL超大分页优化

使用覆盖索引解决

在数据量较大时,使用limit进行分页查询,越向后,查询效率越低(深度分页)

创建覆盖索引可以较好地提高性能,通过覆盖索引加子查询进行优化

对分页查询语句使用覆盖索引只查询主键,通过子查询对查到的主键进行连表,避免大量数据的回表查询

相关推荐
心扬3 分钟前
python网络编程
开发语言·网络·python·tcp/ip
楚歌again9 分钟前
【如何在IntelliJ IDEA中新建Spring Boot项目(基于JDK 21 + Maven)】
java·spring boot·intellij-idea
qq_4541757910 分钟前
c++学习-this指针
开发语言·c++·学习
酷爱码10 分钟前
IDEA 中 Maven Dependencies 出现红色波浪线的原因及解决方法
java·maven·intellij-idea
尘浮72836 分钟前
60天python训练计划----day45
开发语言·python
Magnum Lehar40 分钟前
vulkan游戏引擎test_manager实现
java·算法·游戏引擎
sss191s41 分钟前
校招 java 面试基础题目及解析
java·开发语言·面试
异常君1 小时前
MySQL 中 count(*)、count(1)、count(字段)性能对比:一次彻底搞清楚
java·mysql·面试
sduwcgg1 小时前
python的numpy的MKL加速
开发语言·python·numpy
wkj0011 小时前
QuaggaJS 配置参数详解
java·linux·服务器·javascript·quaggajs