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

覆盖索引和超大分页优化

覆盖索引

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

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

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

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

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

MySQL超大分页优化

使用覆盖索引解决

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

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

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

相关推荐
寻星探路2 分钟前
【Python 全栈测开之路】Python 进阶:库的使用与第三方生态(标准库+Pip+实战)
java·开发语言·c++·python·ai·c#·pip
海边的Kurisu3 小时前
苍穹外卖日记 | Day1 苍穹外卖概述、开发环境搭建、接口文档
java
C雨后彩虹6 小时前
任务最优调度
java·数据结构·算法·华为·面试
heartbeat..6 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
Jing_jing_X7 小时前
AI分析不同阶层思维 二:Spring 的事务在什么情况下会失效?
java·spring·架构·提升·薪资
SmartRadio8 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion8 小时前
QT5.7.0编译移植
开发语言·qt
rit84324998 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
元Y亨H8 小时前
Nacos - 服务发现
java·微服务
微露清风9 小时前
系统性学习C++-第十八讲-封装红黑树实现myset与mymap
java·c++·学习