Java编程高级教程,这些数据库索引的高频面试题,你都掌握了多少

HASHHASH即哈希索引,哈希索引多用于等值查询,时间复杂夫为o(1),效率非常高,但不支持排序、范围查询及模糊查询等。BTREEBTREE即B+树索引,INnoDB存储引擎默认的索引,支持排序、分组、范围查询、模糊查询等,并且性能稳定。RTREERTREE即空间数据索引,多用于地理数据的存储,相比于其他索引,空间数据索引的优势在于范围查找索引的种类有哪些?主键索引:数据列不允许重复,不能为NULL,一个表只能有一个主键索引组合索引:由多个列值组成的索引。唯一索引:数据列不.
摘要由CSDN通过智能技术生成
  • HASH

HASH即哈希索引,哈希索引多用于等值查询,时间复杂夫为o(1),效率非常高,但不支持排序、范围查询及模糊查询等。

  • BTREE

BTREE即B+树索引,INnoDB存储引擎默认的索引,支持排序、分组、范围查询、模糊查询等,并且性能稳定。

  • RTREE

RTREE即空间数据索引,多用于地理数据的存储,相比于其他索引,空间数据索引的优势在于范围查找

索引的种类有哪些?

  • 主键索引:数据列不允许重复,不能为NULL,一个表只能有一个主键索引
  • 组合索引:由多个列值组成的索引。
  • 唯一索引:数据列不允许重复,可以为NULL,索引列的值必须唯一的,如果是组合索引,则列值的组合必须唯一。
  • 全文索引:对文本的内容进行搜索。
  • 普通索引:基本的索引类型,可以为NULL

B树和B+树的区别?

B树和B+树最主要的区别主要有两点:

  • B树中的内部节点和叶子节点均存放键和值,而B+树的内部节点只有键没有值,叶子节点存放所有的键和值。
  • B+树的叶子节点是通过相连在一起的,方便顺序检索。

两者的结构图如下。

这些数据库索引的高频面试题,你都掌握了多少?

这些数据库索引的高频面试题,你都掌握了多少?

数据库为什么使用B+树而不是B树?

  • B树适用于随机检索,而B+树适用于随机检索和顺序检索
  • B+树的空间利用率更高,因为B树每个节点要存储键和值,而B+树的内部节点只存储键,这样B+树的一个节点就可以存储更多的索引,从而使树的高度变低,减少了I/O次数,使得数据检索速度更快。
  • B+树的叶子节点都是连接在一起的,
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值