索引

1.基本概念

索引是一种排好序的,能够提升查询性能的数据结构。


2.索引的作用

如果没有索引,数据库执行 SELECT 语句时需要遍历整个表(全表扫描),数据量大时查询效率低。

✅好处

  • 加速查询:减少数据扫描量,提高查询性能。
  • 加速排序:索引列上的 ORDER BY 性能更高。
  • 加速分组:索引可提高 GROUP BY 性能。
  • 提高表连接效率:索引优化 JOIN 操作。

❌ 坏处

  • 降低插入/更新/删除效率:索引需要维护,修改数据时需要额外操作索引。
  • 占用磁盘空间:索引会额外占用存储空间。

3.索引的种类

索引类型 特点 适用场景
主键索引(Primary Key) 唯一标识数据,自动创建唯一索引 适用于主键字段(如id)
唯一索引(Unique Index) 确保字段唯一性,类似主键但允许NULL 适用于唯一值字段,如邮箱、用户名
普通索引(Normal Index) 加速查询,但不保证唯一性 用于频繁查询的列
复合索引(Composite Index) 多个列组合成一个索引 用于多个字段组合查询
全文索引(Full-Text Index) 支持全文搜索 适用于文本搜索(如文章内容)
哈希索引(Hash Index) 基于哈希表,等值查询快但范围查询慢 适用于=查询,不支持范围查询
聚索索引(Clustered Index) 数据按索引排序存储 适用于InnoDB,影响数据存储方式
非聚索引(Non-Clustered Index) 索引与数据分开存储 适用于MyISAM,索引与数据独立
posted @ 2025-03-10 17:55  一喵良  阅读(67)  评论(0)    收藏  举报