Java常见面试题汇总-----------数据库(数据库索引及其实现)

本文详细介绍了数据库索引的优缺点,包括加快数据检索速度、保证唯一性、加速表间连接,但也指出索引占用空间且影响数据维护速度。文章还深入讨论了索引的分类,如唯一索引、非唯一索引、主键索引、聚集索引和非聚集索引。接着,解释了MyISAM和InnoDB两种存储引擎的索引实现方式,重点讨论了B+树在数据库索引中的作用,强调了B+树在遍历效率和范围查询方面的优势。
摘要由CSDN通过智能技术生成

54、数据库索引

索引的优缺点

  优点:
  1、大大加快数据的检索速度;
  2、创建唯一性索引,保证数据库表中每一行数据的唯一性;
  3、加速表和表之间的连接;
  4、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
  缺点:
  1、索引需要占物理空间;
  2、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低数据的维护速度。

索引的分类

  1、唯一索引: 是在表上一个或者多个字段组合建立的索引,这个或者这些字段的值组合起来在表中不可以重复。

  2、非唯一索引: 是在表上一个或者多个字段组合建立的索引,这个或者这些字段的值组合起来在表中可以重复,不要求唯一。

  3、主键索引(主索引): 是唯一索引的特定类型。表中创建主键时自动创建的索引,一个表只能建立一个主索引。

  4、聚集索引(聚簇索引、Innodb):表中记录的物理顺序与键值的索引顺序相同。 因为真实数据的物理顺序只有一种,所以一个表只能有一个聚集索引。叶子节点(B+树)存储真实的数据行,不再有另外单独的数据页。

  5、非聚集索引(Mylsam):表中记录的物理顺序与键值的索引顺序不同。这也是非聚集索引与聚集索引的根本区别。叶子节点并非数据节点,而是每一个指向真正数据行的指针。
  聚集索引与非聚集索引的区别:
  1)、聚集索引的优缺点:优点是查询速度快,因为一旦具有第一个索引值的记录被找到,具有连续索引值的记录也一定物理的紧跟其后。缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引顺序的一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。在插入新记录时数据文件为了维持 B+Tree 的特性而频繁的分裂调整,十分低效。
  建议使用聚集索引的场合为&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值