mysql——索引

一、mysql索引概念

索引就像书的目录,占空间,但是能快速查询。不用整本书的看。

因此索引的功能,提高查询速率,避免全表查询,但是索引会占磁盘空间

 

二、索引分类

按类别分类

主键索引:主键列内容,唯一,且列不为空

唯一索引:索引列,唯一,列可以为空

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

全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。

 

按数量分类

单列索引:索引只包含单个列

组合索引:索引包含多个列

——为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。

 

前缀索引

如果索引列长度过长,这种列索引时将会产生很大的索引文件,不便于操作,可以使用前缀索引方式进行索引
前缀索引应该控制在一个合适的点,控制在0.31黄金值即可(大于这个值就可以创建)

 

三、Mysql索引主要有两种结构:B+树和hash.

hash

hsah索引在mysql比较少用,他以把数据的索引以hash形式组织起来,因此当查找某一条记录的时候,速度非常快.当时因为是hash结构,每个键只对应一个值,而且是散列的方式分布.所以他并不支持范围查找和排序等功能.

b+tree

b+tree是mysql使用最频繁的一个索引数据结构,数据结构以平衡树的形式来组织,因为是树型结构,所以更适合用来处理排序,范围查找等功能.相对hash索引,B+树在查找单条记录的速度虽然比不上hash索引,但是因为更适合排序等操作,所以他更受用户的欢迎.毕竟不可能只对数据库进行单条记录的操作. 
 

详情:https://www.cnblogs.com/nixi8/p/4574709.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值