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

覆盖索引和超大分页优化

覆盖索引

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

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

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

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

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

MySQL超大分页优化

使用覆盖索引解决

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

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

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

相关推荐
梦梦代码精1 分钟前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱
百炼成神 LV@菜哥8 分钟前
Kylin Linux V10 aarch64安装DBeaver
java·linux·服务器·kylin
郝学胜-神的一滴9 分钟前
Linux网络编程之listen函数:深入解析与应用实践
linux·服务器·开发语言·网络·c++·程序人生
焱童鞋11 分钟前
解决 MeteoInfoLab 3.9.11 中 contourfm 导致的 ArrayIndexOutOfBoundsException
开发语言·python
lzhdim20 分钟前
C#开发的提示显示例子 - 开源研究系列文章
开发语言·c#
有代理ip23 分钟前
成功请求的密码:HTTP 2 开头响应码深度解析
java·大数据·python·算法·php
呱呱巨基29 分钟前
c语言 文件操作
c语言·开发语言·c++·笔记·学习
xb113233 分钟前
C# 定时器和后台任务
开发语言·c#
CoderCodingNo37 分钟前
【GESP】C++五级练习题 luogu-P1031 [NOIP 2002 提高组] 均分纸牌
开发语言·c++·算法