SQL 学习笔记:索引 INDEX(INDEX)
一、INDEX 语法
CREATE [UNIQUE] INDEX 索引名 ON 表(列1, 列2);
-- Oracle 函数索引: CREATE INDEX ix ON t(UPPER(col));二、参数说明
| 项目 | 说明 |
|---|---|
CREATE INDEX | 在列上建索引加速查询 |
UNIQUE | 唯一索引,列值不可重复 |
复合索引 | (a,b) 遵循最左前缀,先 a 后 b |
函数索引 | Oracle 支持对函数结果建索引,MySQL 8 也支持 |
三、注意事项
- 索引加速 SELECT/WHERE/JOIN/ORDER BY,但拖慢 INSERT/UPDATE/DELETE
- 复合索引需命中最左列才有效:(a,b) 不能只靠 b 触发
- 索引不是越多越好,写多读少的表应精简
四、经典案例
案例1:普通索引
案例2:唯一索引
案例3:最左前缀与函数索引
五、小结
索引 INDEX是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。
评论(0)
请登录后发表评论。