MySQL中的索引类型有哪些?
MySQL的索引类型有哪些?
从索引结构角度
B+树索引:用B+树的结构组织索引,索引的排列有序,叶子节点除了存储索引,也存储数据或指向数据的指针
哈希索引:基于哈希表的结构组织索引,适用于等值查询,不支持范围查询,常用于MEMORY引擎
倒排索引:用于全文搜索,以每个文档的唯一单词列表为根据来构建索引,索引的键是单词,值是包含该唯一单词的文档列表
R-树索引:用于处理多维空间数据的索引,适用于地理相关数据的存储和查询
从物理存储角度
基于B+树的两种索引类型
聚簇索引:数据和索引一同存储
非聚簇索引:数据和索引分开存储,索引的值存储指向数据的指针 (一般是主键值)
详细的分析可以看这篇博客
从索引类型角度
普通索引 (二级索引、辅助索引):一般指非主键索引,也非唯一索引的索引
主键索引:一张表只能有一个主键索引,索引值不允许null,可以被其他表引用为外键
唯一索引:一张表可以有多个唯一索引,保证索引列的值都是唯一的,允许null值
联合索引:指以多个字段构建的索引 (不包含主键),索引列是有顺序的,使用联合索引可以提高多条件查询的效率 (索引下推和覆盖索引)
全文索引:用于全文搜索,倒排索引是其实现方式
空间索引:用于处理多维空间数据,R-树索引是其实现方式
本文标题:MySQL中的索引类型有哪些?
文章作者:Crowntit
发布时间:2025-05-25
最后更新:2025-05-25
版权声明:本文为原创文章,转载请附上原文出处链接。