数据库面试资料

1. 什么是索引

(空间换时间)
索引是帮助mysql高效获取数据的数据结构
在mysql中,数据最终存储在硬盘中,(如果i/o操作不够多,查询就很慢)

2. 索引引用哪种数据结构:

(InnoDB不能手动创建hash,系统判断hash是否能起到加速效果,自适应创建。PS:可以关闭自适应)
Hash
B±tree

3. 为什么InnoDB使用B+_tree

二叉搜索树:可能存在顺序结构(链表树),存在遍历查找的结果,空间时间都浪费了
平衡二叉搜索树(AVL):实质是平衡二叉树,每个父节点只能有两个子节点,这就导致数据很多的时候树的深度太深,也就是查询的时候I/O操作多,倒是查询速度变慢,同时mysql每次从磁盘读取数据到内存默认是16KB,而对于搜索来说有用的数据只有一点点,导致读写资源浪费,即是节点只有一个关键字,每次I/O操作获取目标数据太少
B_tree:多路搜索树,绝对平衡,节点在同一水平线,每个节点关键字有N个,将数据分成若干开区间,节点内容包括(子节点索引和数据)

B+_tree:优点:1.、基于索引的扫表操作;2、叶子节点天然有序,基于索引排序更加优秀;3、每次I/O操作读取的索引更多&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值