MySQL存储引擎与体系结构

1.数据库与数据库实例

数据库为文件的集合,数据库实例是数据库与用户之间的程序,用来操作数据库。

2.MySQL由以下几部分组成

连接池组件、管理服务和工具组件、SQL接口组件、查询分析器组件、优化器组件、缓冲(cache)组件、插件式存储引擎、物理文件。

存储引擎是基于表的,不是基于数据库。

插件式存储引擎是MySQL独有的。

数据库与文件系统的区别就是支持事务。

3.MySQL存储引擎

优点:每一个存储引擎都有各自的特点,能够根据具体的应用选择使用

InnoDB支持事务,其设计目标主要面向在线事务处理(OLTP),其特点是支持行锁设计、外键并支持读写不产生锁,实现了SQL标准的4种隔离级别,默认REPEATABLE级别,使用next-key locking的策略来避免幻读现象的产生。采用聚集的方式存储数据,每张表都是按主键的顺序进行存放。

MyISAM不支持事务、表锁设计、支持全文索引,主要面向在线事务处理(OLTP)。不支持事务的原因是,并不是所有的应用都需要事务。其的特点是它的缓冲池只缓存索引文件,不缓冲数据文件。缺点是由于是表锁,可能长期处在锁的状态,是以前版本的默认。

posted @ 2017-11-13 15:01  赛跑的流氓龟  阅读(112)  评论(0编辑  收藏  举报