当前位置: 首页 > news >正文

MySQL面试题(二)

4 Hash索引有哪些优缺点?

Hash索引底层是Hash表,根据键值<key, value>存储数据的结构。比较适合根据key查找value值,也就是单个key的查询或者等值查询。

优点

  • 因为索引自身只需要存储对应的Hash值,所以索引的结构比较紧凑,如果只需要做等值查询,不包含范围查询,可以选择使用Hash索引

  • 在没有Hash冲突的情况下,等值查询访问hash索引的速度比较快,但是如果发生冲突,必须遍历链表中所有的行指针,逐行比较。

缺点

  • Hash索引只包含哈希值和行指针,不存储字段值,所以每次查询都要回表

  • Hash索引只支持等值比较查询。

  • Hash索引无法进行排序。

5 什么是写失效

Linux文件系统页(OS Page)默认大小是4KB,而MySQL的页(Page)默认大小是16KB。

InnoDB的页和操作系统的页的大小不一致,InnoDB的页写入磁盘时就需要分4次来写。

这时候,存在一种情况:

如果存储引擎正在写入的页的数据到磁盘时发生了宕机,这时如果我们只是写了一部分页,比如写4K,就宕机,这种情况就被叫做写失效,可能会导致数据的丢失,并且这种页数据的损坏,靠redoLog是无法恢复的。

6 什么是聚簇索引?与非聚簇索引有什么区别?

索引的分类:

  1. 按字段的特性分类可以分为:主键索引、前缀索引、复合索引、普通索引。

  2. 按照数据结构分类:B+tree索引、Hash索引。

  3. 按物理存储分类可以分为:聚簇索引、辅助索引(二级索引)

聚簇索引:聚簇索引并不是一种单独的索引类型,而是一种数据的存储方式。

聚簇:表示数据行和相邻的键值是紧凑地存储一起,索引和数据在一起

聚簇索引的二级索引:叶子节点不会保存引用行的物理位置,而是只保存行的主键值。

聚簇索引:将数据存储和索引放到了一起,索引结构的叶子节点是保存了行数据。

非聚簇索引:将数据和索引分开存储,索引结构的叶子节点存储的是指向数据行对应的地址。

什么是回表?如何解决回表问题?

比如有一个表有id(主键),name(普通索引)

回表指的就是:第一遍先根据辅助索引查询到主键值,再根据主键值在聚簇索引中获取行记录,这就是回表。

使用覆盖索引解决回表问题

定义:如果一个索引包含了所有查询的字段的值,不需要回表,这个索引就是覆盖索引。

优化思路:只需要在一颗索引树上就能获取SQL所需的列数据,无需回表,速度更快。

具体地实现方式

  • 将被频繁查询的字段创建联合索引,这样就可以避免回表,可以直接返回索引中的数据。

什么是索引下推?

select * from users where name like '张%' and age = 10;

上图中没有索引下推,需要回表四次,拿到数据,再进行age字段的比较,过滤掉不符合条件的记录。
引入索引下推之后,可以在索引遍历的过程中,对索引包含的字段先进行判断,过滤掉不符合条件的记录,减少回表。”

引入索引下推之后

在索引内部就判断 age 是否等于10,对于不等于的记录,直接跳过,不进行回表。

总结:如果没有索引下推优化,当进行索引查询时,首先要根据索引来查找记录,然后再根据where条件进行过滤,得到想要的数据。

在支持ICP之后,MySQL在取出索引的同时,判断是否可以进行where条件过滤。再进行索引查询,如果可以就提前进行过滤。可以减少回表次数。

相关文章:

  • c++ 内存管理系统之智能指针
  • Java自动拆箱装箱/实例化顺序/缓存使用/原理/实例
  • 关于常规模式下运行VScode无法正确执行“pwsh”问题
  • 【Python 数据结构 5.栈】
  • AIC8800---编译环境搭建
  • 关于后端接口的返回值问题
  • 大营销平台
  • 【ATXServer2】Android无法正确显示手机屏幕
  • Stepdown SLOPE for Controlled Feature Selection
  • 跑代码过程中遇到 killed 解决策略
  • 中科大 计算机网络笔记 第二章 2.3WEB和HTTP笔记(更新中)
  • OpenAI 最后一代非推理模型:OpenAI 发布 GPT-4.5预览版
  • 泵吸式激光可燃气体监测仪:快速精准守护燃气管网安全
  • 驱动开发系列41 - Linux 显卡驱动KMD代码分析(二) - 设备电源管理
  • 我代表中国受邀在亚马逊云科技全球云计算大会re:Invent中技术演讲
  • 【Unity】Unity性能分析解决方案——UPR
  • Ubuntu 安装 stable-diffusion-webui-docker 常见问题处理方法
  • chrome下载文件提示“贵组织屏蔽了该文件,因为它不符合安全政策” 安装chrome插件出现问题
  • el-select的下拉选择框插入el-checkbox
  • 2025年装修装饰施工员考试题型及题目分享
  • 视频丨雄姿英发!中国仪仗队步入莫斯科红场
  • 全国人大常委会启动食品安全法执法检查
  • 玉渊谭天丨一艘航母看中国稀土出口管制为何有效
  • “80后”计算机专家唐金辉已任南京林业大学副校长
  • 特朗普政府拟终止太空污染研究,马斯克旗下太空公司将受益
  • 宁波市人大常委会审议生育工作报告,委员建议学前教育免费