mysql索引

索引是什么?

索引是mysql对数据库表的一列或者多列的值进行排序的一种数据结构。类似于字典

索引的本质就是缩小检索范围

索引的用途:可以大大的提高查询速度

索引的优缺点?

优点:

1.索引大大的提高了数据检索速度,这也是建立索引的原因,

2.将随机io变成顺序io

3.索引可以帮助系统避免排序和创建临时表(orderby 是要创建临时表的)假定索引是(city,username) 只要保证city这个索引上取出来的行天然就是按照name递增排序的话,就可以不用再排序了。

缺点:

1.索引是保存在磁盘里的,磁盘的查询消耗是内存的消耗的10倍 也浪费空间资源

2.建立索引和维护索引需要消耗大量的时间

3.数据表更新的时候,索引也要跟着更新,数据更新成本大

4 如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。

建立索引的准则:

可以建索引的值:

1.主键

2.我们经常用到的字段(经常作为查询条件的字段,用于join的字段,orderby的排序字段,like的检索字段)

不可以建索引的值:

1.不经常使用的字段

2.经常更新的字段(更新成本高)

3.有大量重复值的字段比如性别

索引的类型:

b+树和hash

innodb引擎默认的是b+树索引

b+树索引支持范围查询,查询的速度差不多,

hash索引只支持等值查询,不支持范围查询,查单条数据的速度大于b+树索引

聚簇索引和非聚簇索引

索引和数据放在一起的是聚簇索引,否则是非聚簇索引

聚簇索引访问速度更快

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值