
回复
MySQL 主要索引类型有如下几种:
1.主键索引
2.唯一索引
3.普通索引
4.空间索引
5.全文索引
假设有如下一张表
聚簇索引
索引与数据存放在一起,找到索引的同时也找到了数据;聚簇索引具有唯一性,一张表只有一个聚簇索引。
聚簇索引默认是主键,如果表中没有定义主键,InnoDB 会选择一个非空唯一索引代替。如果没有,InnoDB 会使用隐藏的_rowid 列来作为聚簇索引。
非聚簇索引
索引与数据分开存放,索引结构的叶子节点指向了数据的对应行。
主键索引
唯一索引
● 索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一
单列索引
● 即索引创建在单个列上
多列索引
● 创建多列索引时记得遵循最左匹配原则,把区分度较高的字段放前面
前缀索引
● 即当字段的长度超过索引限制,可以为字段的部分前缀创建索引
倒序索引
● 8.0 版本出的新功能,以往创建倒叙索引可以创建成功,但实际上仍然是顺序的
函数索引
表达式索引
不可见索引
空间索引
空间索引是对空间数据类型的字段建立的索引,MYSQL使用SPATIAL关键字进行扩展,使其能够在空间数据类型的语法上创建空间索引。
全文索引