索引数据结构高频面试题及详细答案(实战向).docxVIP

  • 1
  • 0
  • 约4.05千字
  • 约 6页
  • 2026-08-16 发布于河北
  • 举报

索引数据结构高频面试题及详细答案(实战向).docx

索引数据结构高频面试题及详细答案(实战向)

一、基础概念面试题

1.数据库索引的本质是什么?为什么能提速?

参考答案:

索引本质就是帮数据库快速定位数据的有序数据结构,可以理解为数据表的“目录”。

数据库查询慢的核心原因是磁盘IO,没有索引时,查询数据需要走全表扫描,逐行读取磁盘数据,IO次数极多。

索引通过有序存储、二分查找的逻辑,大幅减少查询时需要读取的磁盘页数量,把全表遍历的O(n)时间复杂度,降到O(logn),从而提升查询效率。

补充:索引只加速查询、排序、分组、去重,会降低写入、更新、删除效率,因为数据变动时,索引结构也需要同步维护。

2.MySQL常用索引数据结构有哪些?各自适用场景?

参考答案:

MySQL主流就两种,InnoDB和MyISAM核心使用B+树,Memory引擎用哈希索引:

B+树索引(默认、最常用):支持等值查询、范围查询、排序、分组,适配几乎所有业务场景,是InnoDB唯一索引结构。

哈希索引:基于哈希表实现,只适合精准等值查询(=、in),不支持范围查询、排序、模糊查询,内存占用低、查询极快,但业务局限性大,极少主动使用。

面试避坑:MySQL没有B树索引,网上说的B树索引基本都是口误,全是B+树。

3.聚簇索引和非聚簇索引的核心区别?

参考答案:

两者的核心差异是叶子节点存储的内容不同,也是InnoDB最核心的知识点:

文档评论(0)

1亿VIP精品文档

相关文档