数据库(四)

密集索引和稀疏索引的区别

  1. 密集索引文件中的每个搜索码值都对应一个索引值
  2. 稀疏索引文件只为索引码的某些值建立索引项

密集索引每个搜索码都对应一个索引在这里插入图片描述
稀疏索引文件只为索引码的某些值建立索引项
在这里插入图片描述

InnoDB和MylSAM区别

Mysql存在两种引擎:InnoDB,MyISAM

MyISAM:
不管是主键索引、唯一键索引或者普通索引,其索引都属于稀疏索引

InnoDB:

  1. 若一个主键被定义,该主键则作为密集索引
  2. 若没有主键被定义,该表第一个唯一非空索引则作为密集索引
  3. 若不满足上序条件,innoDB内部会生成一个隐藏索引(密集索引)
  4. 非主键索引存储相关键位和其对应的主键值,包含两次查询

InnoDB数据跟密集索引是放在一块的,MyISAM数据跟索引是独立的。所以MylSAM的辅助索引也指向主数据值,而InnoDB的辅助索引查找的时候先找到主键,然后再去主键索引查找数据。

索引总结

1.为什么使用索引 ?
   索引能避免全表扫描数据,提升检索数据(如果数据量非常小反而创建索引花费时间长)

2.什么样的信息能够成为索引 ?
   主键、唯一键等数据具备唯一性的都可以成为索引
3.索引的数据结构 ?
   主流B+树还有Hash、BitMap(oracle才有)、B树
4.密集索引和稀疏索引的区别 ?
   密集索引每个搜索码都对应一个索引,稀疏索引只为索引码的某些值建立索引项

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值