basebase

问java,首先肯定是问mysql

一、Mysql

1.MyIsAm和InnoDB的区别

2.mysql事物特性

3.事物是如何进行保证的

4.事物的隔离性的隔离级别

5.什么是当前读和快照读

6.MVCC是什么

7.mysql有哪些索引类型

普通索引: 就是最基础的索引

8.聚簇索引和非聚簇索引的区别

 居处索引一般也是叫做主键索引,聚簇索引。

数据库底层的是b+树,大概id主键索引就是这样的

就是这个索引的下面存放了 该条信息的所有的数据 。 、

非聚簇索引:就是比主键索引低一个档次的索引结构

他这里存放的指向的主键的id, 算是一个二次的指向主键的索引。先查到主键的id,然后通过主键id再去二次聚簇索引二次查找。这个过程就是回表查询。

额外:聚簇索引就是主键的查找,只能够有一个主键。 但是非聚簇索引可以有多个。

9.数据库的底层数据结构是什么?为什么使用b+树,而不是使用b树?红黑树和b+树的区别?

数据库的底层结构是b+树,b+树的和b树的区别和优点是,b+树是将数据存储到了叶子节点上,而b树是将数据和索引存储到了节点上,b+树的叶子节点是一个有序的链表,能够更好的进行范围查询。

标准的说法

 1.b+树可以更好的利用磁盘的预读特性

  数据通常是放在磁盘上的,磁盘的读取速度比较慢,而b+树的内部节点只存储键值信息,不存储数据信息,这样可以让每个节点存储更多的键值信息,在依次io中能够读入更多的数据块。

2.b+树能够进行范围查找

b+树的顶层数据是放在叶子节点上面的,但是b树的数据和键值信息是在内部节点和叶子节点中都有存储,而且b+树他的底层是一个有序的链表,能够有效的进行范围的查询。

红黑树和b+树的区别: 红黑树又叫二叉平衡树,能够防止单向链表的产生,能够自动的进行平衡,但是在数据量变大的时候,会出现树的层级变得很高,增大io的次数。而b树是他的优化版本,能够进行一个节点存放多个数据,减小了树的高度,能够有效的减小磁盘的io次数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玖六儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值