MySQL常用知识

1.MySQL常用引擎有哪些?

A:MySQL常用的引擎有InnoDB、MyISAM、Memory,默认时InnoDB

InnoDB:磁盘表,支持事务,支持行级锁,B+Tree索引

优点:具有良好的ACID特性(指数据库事务正确执行的四个基本要素的缩写)

包含Atomicity原子性、Consistency一致性、Isolation隔离性、Durability持久性。

适用于高并发,更新操作比较多的表,需要用事务的表。

对自动灾难恢复有要求的表。

缺点:读写效率相对MyISAM较差。占用的磁盘空间较大。

 

MyISAM:磁盘表,不支持事务,支持表级锁,B+Tree索引

优点:占用空间小,处理速度快(相对InnoDB来说)

缺点:不支持事务的完整性和并发性

 

MEMORY(堆):内存表,不支持事务,表级锁,Hash(键值存储数据的结构)索引,不支持Blob,Text大类型

优点:速度要求快的,临时数据

缺点:丢失以后,对项目整体没有或者负面影响不大的时候。

 

B+Tree的定义:

B+Tree是B树的变种,有着比B树更高的查询性能,来看下m阶B+Tree特征:

1.有m个子树的结点包含有m个元素(bTree中是m-1)

2.根节点和分支节点中不保存数据,只用于索引,所有数据都保存在叶子节点中。

3.所有分支节点和根节点都同时存在于子节点中,在子节点元素中是最大或者最小的元素。

4.叶子节点包含所有的关键字,以及指向数据记录的指针,并且叶子节点本身是根据关键字大小从小到大顺序链接。

posted @ 2019-03-03 18:01  Roni_i  阅读(114)  评论(0编辑  收藏  举报