0
点赞
收藏
分享

微信扫一扫

Lua中文语言编程源码-第三节,更改lualib.h Lua标准库, 使Lua支持中文关键词(与所有的基础库相关)

诗尚凝寒 03-17 17:30 阅读 2

问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次数。

举报

相关推荐

0 条评论