【java常见的面试题】知道什么是回表查询嘛 ?

简介: Java基础的面试题【Mysql篇】

当我们为一张表的name字段建立了索引 , 执行如下查询语句 :

select name,age from user where name='Alice'

那么获取到数据的过程为 :

  1. 根据name='Alice'查找索引树 , 定位到匹配数据的主键值为id=18

image-20220521115651825.png

  1. 根据id=18到主索引获取数据记录 (回表查询)

    image-20220521115705653.png

先定位主键值,再定位行记录就是所谓的回表查询,它的性能较扫一遍索引树低

相关文章
|
4天前
|
存储 Java 程序员
Java面试题:请解释Java中的永久代(PermGen)和元空间(Metaspace)的区别
Java面试题:请解释Java中的永久代(PermGen)和元空间(Metaspace)的区别
32 11
|
4天前
|
存储 Java 程序员
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
26 10
|
4天前
|
存储 运维 Java
Java面试题:JVM的内存结构有哪些主要部分?请简述每个部分的作用
Java面试题:JVM的内存结构有哪些主要部分?请简述每个部分的作用
26 9
|
4天前
|
缓存 监控 算法
Java面试题:描述Java垃圾回收的基本原理,以及如何通过代码优化来协助垃圾回收器的工作
Java面试题:描述Java垃圾回收的基本原理,以及如何通过代码优化来协助垃圾回收器的工作
28 8
|
3天前
|
NoSQL Java 应用服务中间件
Java高级面试题
Java高级面试题
|
3天前
|
网络协议 安全 前端开发
java面试题
java面试题
|
3天前
|
NoSQL Java 关系型数据库
常见Java面试题
常见Java面试题
|
10天前
|
存储 算法 Java
Java面试之SpringCloud篇
Java面试之SpringCloud篇
29 1
|
10天前
|
缓存 NoSQL Redis
Java面试之redis篇
Java面试之redis篇
25 0
|
10天前
|
SQL 关系型数据库 MySQL
java面试之MySQL数据库篇
java面试之MySQL数据库篇
18 0
java面试之MySQL数据库篇