- 1
- 0
- 约4.05千字
- 约 6页
- 2026-08-16 发布于河北
- 举报
索引数据结构高频面试题及详细答案(实战向)
一、基础概念面试题
1.数据库索引的本质是什么?为什么能提速?
参考答案:
索引本质就是帮数据库快速定位数据的有序数据结构,可以理解为数据表的“目录”。
数据库查询慢的核心原因是磁盘IO,没有索引时,查询数据需要走全表扫描,逐行读取磁盘数据,IO次数极多。
索引通过有序存储、二分查找的逻辑,大幅减少查询时需要读取的磁盘页数量,把全表遍历的O(n)时间复杂度,降到O(logn),从而提升查询效率。
补充:索引只加速查询、排序、分组、去重,会降低写入、更新、删除效率,因为数据变动时,索引结构也需要同步维护。
2.MySQL常用索引数据结构有哪些?各自适用场景?
参考答案:
MySQL主流就两种,InnoDB和MyISAM核心使用B+树,Memory引擎用哈希索引:
B+树索引(默认、最常用):支持等值查询、范围查询、排序、分组,适配几乎所有业务场景,是InnoDB唯一索引结构。
哈希索引:基于哈希表实现,只适合精准等值查询(=、in),不支持范围查询、排序、模糊查询,内存占用低、查询极快,但业务局限性大,极少主动使用。
面试避坑:MySQL没有B树索引,网上说的B树索引基本都是口误,全是B+树。
3.聚簇索引和非聚簇索引的核心区别?
参考答案:
两者的核心差异是叶子节点存储的内容不同,也是InnoDB最核心的知识点:
原创力文档

文档评论(0)