数据库:SQL索引优化—提升查询速度的秘密
SQL 索引就像是书籍的目录,能够大幅加快数据检索的速度,是数据库性能优化的核心手段。
一、索引的类型与作用
| 类型 | 特点 | 应用场景 |
|---|---|---|
| 主键索引 (Primary) | 唯一且非空,每个表只能有一个。 | 用于唯一标识记录。 |
| 唯一索引 (Unique) | 索引列的值必须唯一,可以为空。 | 如用户邮箱、身份证号。 |
| 普通索引 (Normal) | 最基本的索引,没有任何限制。 | WHERE 子句中最常使用的列。 |
二、索引优化的黄金法则
- 不要滥用索引: 索引会占用磁盘空间,并在写入 (INSERT/UPDATE/DELETE) 时增加开销。只索引那些频繁查询的列。
- 复合索引: 遵循“最左前缀原则”。例如,对 `(col1, col2, col3)` 创建索引,那么 `col1`、`(col1, col2)`、`(col1, col2, col3)` 都可以使用该索引,但 `col2` 或 `(col2, col3)` 则不能。
- 避免函数操作: 避免在索引列上使用函数(如 `YEAR(date_col)`),否则索引会失效。
核心理念: 优化不是越多越好,而是“恰到好处”。应通过 `EXPLAIN` 命令分析查询执行计划,再决定是否增加或调整索引。
