← AI 百科

数据库索引

AI编程 · 数据库基础
一句话:索引是数据库用来快速查找数据的结构,能提升查询速度,但也会增加写入和维护成本。

它是什么

数据库索引可以理解成书的目录。没有索引时,数据库可能需要一行一行找;有合适索引时,可以更快定位结果。索引常用于用户ID、订单号、邮箱、创建时间等经常查询或排序的字段。

适合干什么

  • 后端新手
  • 正在做管理后台的人
  • 遇到查询慢的人
  • 使用MySQL、PostgreSQL或SQLite的人

不适合干什么

  • 数据量很小且查询很少的临时表
  • 完全不了解查询条件就乱加索引
  • 希望索引解决所有性能问题的人

普通人怎么用

  • 找出最常用的查询条件
  • 优先给唯一字段或高频筛选字段加索引
  • 查询慢时查看执行计划
  • 不要给每个字段都加索引
  • 修改后对比查询速度

进阶用户怎么用

  • 根据WHERE、ORDER BY、JOIN设计组合索引
  • 注意最左前缀原则
  • 避免低区分度字段单独建索引
  • 定期清理无用索引,降低写入成本

常见误区

  • 以为索引越多越快
  • 给性别、状态这类低区分字段乱加索引
  • 组合索引字段顺序写错
  • 加了索引但查询写法用不上

和相似工具的区别

  • 主键:用于唯一标识一行数据,通常自带索引。
  • 普通索引:用于加速查询,不一定唯一。
  • 唯一索引:既加速查询,又保证字段值不重复。

入门步骤

  • 确认慢查询
  • 分析查询条件
  • 设计索引
  • 查看执行计划
  • 上线前测试
  • 监控写入影响

推荐工具(第三方)

MySQL、PostgreSQL、SQLite、Prisma、DBeaver