mysql数据库——索引

索引是存储引擎用于快速查找记录的一种数据结构
快速查找的捷径

索引就类似一本书的目录
通过合理的使用数据库索引可以大大提高系统的访问性能。

理解索引也是数据库性能调优的起点。

索引的分类

按照生成索引的列的数量可以分为单列索引,和 ,组合索引。

按照功能:
1. 普通索引
最基本的索引,没有任何限制
2.唯一索引:
与普通索引相识,唯一的不同就是 必须唯一,允许有空值
3.主键索引:
是一种特殊的唯一索引,不允许有空值,在创建主键时创建。
4.全文索引:
最好先插入数据 后创建索引,先建立索引后插入数据效率不高。
然而 生成全文索引是一个非常消耗时间非常消耗磁盘空间的做法。

索引的结构

Mysql 索引主要有两种结构,BTree 和 Hash。

mysql中一般使用BTree(默认)
由于hash索引结构的特殊性,它的检索效率非常高。但是有局限性:
1.hash索引只满足“=”,“in”,“< = / >=”查询,不能使用范围查询。
2.hash索引无法避免数据的排序运算;
3.hash不能利用部分索引查询,组合索引无法利用hash索引的
4.hash索引无法避免表扫描
5.hash索引遇到大量hash值相等的情况下性能比BTree 低

创建索引

创建一个主键就会创建一个主键索引。
create  index_name  on  table(colum(length));           //普通索引
create  unique  index  index_name  on .........                //唯一索引
create  fulltext  index  index_name on ......                    //全文索引

删除索引

drop  INDEX   index_name  on  table;

显示索引信息

show  index  from  table_name;

扫描二维码关注公众号,回复: 4667671 查看本文章

猜你喜欢

转载自blog.csdn.net/Leo_01169/article/details/85089363