Mysql索引

Mysql索引是什么

索引是对数据库中一列或者多列的值进行排序的一种数据结构。建立索引后,索引用指针指向存储在表中指定列的数据值,然后根据指定次序排序这些指针,达到快速获取数据的目的。Mysql索引的数据结构普遍基于B+树实现的,所以指针按照B+树规则排序,指向列中数据。

优势和缺陷

使用索引最主要的原因是因为索引可以大大加快数据的查询速度。但是索引也有自己的缺陷,

对表中数据做增删改操作时,需要新建索引会影响增删改操作的效率,而且索引是需要占据磁盘空间的,所以索引并不是越多越好。

Mysql索引的种类

1.普通索引

Mysql中的基本索引类型,允许定义在索引的列中插入重复值和空值

2.唯一索引

唯一索引,索引列中的值必须保证唯一性,允许有空值,主键索引是特殊的唯一索引不允许有空值

3.单列索引

单列索引既是一个索引只包含一个列,一个表可以建多个单列索引

4.组合索引

组合索引指在表的多个字段组合上创建的索引,只有在查询中使用了这些字段的左边字段时,索引才会被引用

5.全文索引

全文索引类型为FULLTEXT,在定义索引的列上支持值的全文查找,允许在这些索引列中插入重复值和空值。MySQL 5.6 及以后的版本,MyISAM 和 InnoDB 存储引擎均支持全文索引;全文索引只可以在CHAR、VARCHAR或者TEXT类型的列上创建。全文索引用来做关键字查询,也就是like+%的模糊匹配,而不是精确值比较。

创建索引

1.创建表时创建索引

2.在已存在的表上创建索引

删除索引

你可能感兴趣的:(Mysql索引)