mysql索引类型表

2024-08-30 23:05:28 浏览数 (1)

mysql索引类型表

索引类型

描述

MySQL中的适用性

B树/B 树应用

主键索引

确保列的唯一性,一个表只能有一个主键索引

自动创建,除非指定非聚簇索引

B 树

唯一索引

确保列的值唯一,可以有多列,表中可以有多个

强制值的唯一性,适用于需要保证数据唯一性的列

B树/B 树

非唯一索引

允许列的值重复,适用于不强制数据唯一的查询优化

常用于辅助查询,提高检索效率

B树/B 树

组合索引

在多个列上创建的索引,提高复合查询条件的检索效率

适用于经常一起使用的列组合

B树/B 树

聚簇索引

数据行的物理存储顺序与索引键值的逻辑顺序相同

MySQL的InnoDB引擎默认的主键索引类型

B 树(默认)

非聚簇索引

数据行的物理存储顺序与索引逻辑顺序可以不同

可以有多个,适用于非主键的列

B树/B 树

覆盖索引

一个索引包含所有查询所需的列,查询不需要访问数据表

减少I/O操作,提高查询效率

B树/B 树

前缀索引

对列的一部分(如字符串的前几个字符)创建索引

适用于列前缀变化不大的情况

B树/B 树

全文索引

用于对大量文本数据进行搜索,支持复杂的文本搜索

适用于需要全文搜索的列

B树(InnoDB不支持全文索引)

空间索引

用于地理空间数据类型,优化空间对象的查询

适用于地理信息系统(GIS)相关的查询

B树/R树(MySQL中使用R树)

函数索引

基于某个表达式或函数的结果创建的索引

适用于需要对表达式结果进行搜索的场景

B树/B 树

外键索引

用于维护表之间的参照完整性

MySQL自动为外键列创建索引

B树/B 树

0 人点赞