1. 定义数据库和实例
数据库:物理操作系统文件或者其他文件类型的数据集合
实例:MySQL数据库的实例由后台线程以及共享内存区组成,是管理软件
MySQL被设计为单进程多线程架构的数据库,与SQL server类似,而与Oracle多进程的架构有所不同(Oracle的Windows版本也是单进程多线程架构的)
2. MySQL体系结构
存储引擎是基于表的,而不是数据库
3.MySQL存储引擎
InnoDB存储引擎
InnoDB存储引擎支持事务,特点是行锁设计、支持外键,通过使用MVCC来获得高并发性,隔离级别默认为可重复读,并且使用next-key locking的策略来避免幻读的产生。采用了聚集的方式,每张表的存储都是按主键的顺序进行存放,如果没有显式地定义主键,那么存储引擎将会为每一行生成一个6字节的rowid作为主键
MyISAM存储引擎
不支持事务,表锁,支持全文索引
myisam存储引擎一个很大不同之处是,它的缓冲池值缓存索引文件,而不缓冲数据文件
Memory存储引擎
特点是将表中的数据都放在内存里,一旦发生数据库重启或者崩溃,表中的数据将全部消失