数据库索引的整理

数据库管理系统中一个排序的数据结构,以协助快速查询,更新数据库中表的数据。

实现:B树和变种的B+树。

作用:提高查询效率。提高程序性能

3.1、应创建索引的场景

  1. 经常需要搜索的列上
  2. 作为主键的列上
  3. 经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度
  4. 经常需要根据范围进行搜索的列上
  5. 经常需要排序的列上
  6. 经常使用在where子句上面的列上
  • 3.2、不应该创建索引的场景
  • 查询中很少用到的列
  • 对于那些具有很少数据值的列,比如数据表中的性别列,bit数据类型的列
  • 对于那些定义为text,image的列,因为这些列的数据量相当大
  • 当对修改性能的要求远远大于搜索性能时,因为当增加索引时,会提高搜索性能,但是会降低修改性能
  1. 抛开其他的数据库索引实现,主讲MySQL的索引底层实现,其底层是通过B+树来实现的数据结构存储。
    数据结构存储,决定了数据查找和操作时的效率,包括时间复杂度和空间复杂度,而在取舍的时候,也无非就是时间换空间,空间换时间的权衡罢了,所以,这就很好的解释了,为什么MySQL在索引的底层设计上,选用了B+树,而没有选用B-树,或是红黑树,AVL树等等其他数据结构。总之,就是使用B+树作为索引的结构存储,能在I/O性能上得到一个较大的优势。

  2. 关于索引的使用 是学习十索引的重中之重,详情可以参考下面这篇文章,介绍了索引在mysql中的使用以及索引失效的几种情况。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值