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

覆盖索引和超大分页优化

覆盖索引

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

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

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

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

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

MySQL超大分页优化

使用覆盖索引解决

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

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

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

相关推荐
吃虫子的人5 分钟前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
一晌小贪欢14 分钟前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
阿猿收手吧!28 分钟前
【C++】异步编程:std::async终极指南
开发语言·c++
figo10tf33 分钟前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva36 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露40 分钟前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
小程故事多_8041 分钟前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
冰暮流星42 分钟前
sql语言之分组语句group by
java·数据库·sql
沐知全栈开发43 分钟前
SQL 日期处理指南
开发语言
望舒51344 分钟前
代码随想录day25,回溯算法part4
java·数据结构·算法·leetcode