MySQL索引

Posted hangtutu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL索引相关的知识,希望对你有一定的参考价值。

索引的概念

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息

 

索引类型

逻辑角度

普通索引:最基本的索引,没有任何限制

唯一索引:索引列必须唯一,允许有多个索引列,并且索引列允许为空

主键索引:索引列为主键,不允许有空值

前缀索引:对索引字段的前 N 个字符创建索引

全文本索引:用于全文搜索,并且只限于 CHAR、VARCHAR 和 TEXT 列。

组合索引:索引包含多列

 

数据结构角度

 

 

物理存储角度

聚簇索引:对磁盘上的实际数据重新组织以按照特定的一个或者多个列的值排序的算法,聚簇索引的叶子节点就是数据节点

非聚簇索引:表数据存储顺序与索引顺序无关,非聚簇索引的叶子节点仍然是索引文件 只是这个索引文件中包含指向对应数据块的指针

 

不同存储引擎支持的索引类型

MyISAM: 默认BTREE 索引;支持全文本索引

InnoDB:默认BTREE 索引;

MEMORY:默认Hash索引;支持BTREE索引

 

索引的优缺点

 

 

 

以上是关于MySQL索引的主要内容,如果未能解决你的问题,请参考以下文章

mysql索引类型和索引方式

mysql 索引

mysql索引(九)索引合并

mysql---索引优化

MySQL索引

mysql索引?