数据库索引的概念和分类

什么是数据库索引?

我们再平时的开发中免不了用到数据库的索引,接下来就简单说一下数据库索引。

数据库索引用来干什么?

数据库索引就是为了提高数据的查询速率。

数据库索引有哪些?

  1. 聚集索引:在数据库中,所有行数都会按照主键索引排序。
  2. 非聚集索引:就是给普通字段加上索引。
  3. 联合索引:好几个字段组成的索引称为联合索引。

索引的底层是?

数据库索引的底层是B+树。
B+树的中间元素不储存数据,只储存索引,数据存储在B+树的叶子节点处,一个节点可以存放多个数据,查找一个节点的时候可以有多个元素,大大提升查找效率,这就是为什么数据库索引用的就是B+树,因为索引很大,不可能都放在内存中,所以通常是以索引文件的形式放在磁盘上,所以当查找数据的时候就会有磁盘I/O的消耗,而B+树正可以解决这种问题,减少与磁盘的交互,因为进行一次I/O操作可以得到很多数据,增大查找数据的命中率。

索引在磁盘上的存储是怎样的?

索引在磁盘上聚集存储和非聚集存储的方式是不同的。

  1. 聚集索引在磁盘中的存储: 聚集索引叶子结点存储是表里面的所有行数据; 每个数据页在不同的磁盘上面
  2. 非聚集索引在磁盘上的存储:叶子结点存储的是聚集索引键,而不存储表里面所有的行数据,所以在查找的时候,只能查找到聚集索引键,再通过聚集索引去表里面查找到数据

索引的分类

数据库索引分为:

  1. 主键索引(PRIMAY KEY)
  2. 唯一索引(UNIQUE)
  3. 常规索引(INDEX)
  4. 全文索引(FULLTEXT)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值