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 评论

评论(0)

登录后发表评论。