MySQL进阶笔记

MySQL体系结构:MySQL进阶笔记_第1张图片


存储引擎:存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型。一个数据库的多张表可以基于不同的存储引擎。我们创建表的时候一般没有声明存储引擎,系统默认为InnoDB。

InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎。

特点:DML操作(对表中数据的增删改)遵循ACID模型(原子性、一致性、隔离性、持久性),支持事务;行级锁,提高并发访问性能;支持外键约束,保证数据的完整性和正确性。

生成的文件格式为:表名.idb

InnoDB的逻辑存储结构:MySQL进阶笔记_第2张图片


 面试题:InnoDB和MyISAM的区别?

答:InnoDB支持事务和外键,行锁;MyISAM不支持事务和外键,表锁。


存储引擎的选择:

InnoDB:是MySQL的默认存储引擎,支持事务、外键。如果对事务的完整性有较高的要求,在并发条件下要求数据的一致性,数据的操作除了查询和插入外,还有更新和删除等时,建议使用该引擎。

MyISAM:如果以查询和插入为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不高,建议用该存储引擎。

MEMORY:将所有数据保存在内存中,访问速度快,通常用于临时表和缓存。缺点是对表的大小有限制,太大的表无法缓存在内存中,而且无法保障数据的安全性。

看到p63.

你可能感兴趣的:(mysql,数据库,database)