什么是数据库索引?
数据库索引是一种特殊的数据结构,它能够显著提高数据库查询效率。索引类似于书籍的目录,通过建立特定字段的有序引用,使数据库系统能够快速定位到所需数据,而不必扫描整个表。
在技术层面,索引通常采用B树、B+树或哈希表等数据结构实现。其中B+树因其平衡性和适合磁盘存储的特性,成为关系型数据库中最常用的索引结构。
索引面试常见问题解析
1. 索引的基本类型有哪些?
主键索引(Primary Key):唯一标识表中每一行记录的索引,不允许NULL值。
唯一索引(Unique Index):确保索引列的值唯一,但允许NULL值。
普通索引(Normal Index):最基本的索引类型,没有唯一性限制。
复合索引(Composite Index):由多个列组合而成的索引,遵循最左前缀原则。
全文索引(Full-text Index):用于全文搜索的特殊索引类型。
2. 什么情况下索引会失效?
- 使用`!=`或``操作符
- 对索引列进行函数操作或计算
- 使用`OR`连接条件(除非所有条件都有索引)
- 使用`LIKE`以通配符开头(如`'