1、数据库和实例
数据库: 物理操作系统文件或其他形式文件的集合
实例 : MySQL数据库由后台线程以及一个共享内存区组成
2、 MySQL的体系结构
3、存储引擎
|
名称
|
事务
|
锁
|
全文索引
|
外键
|
非锁定读
|
文件
|
其他
|
1
|
InnoDB
|
支持
|
行锁
|
不支持
|
支持 |
支持
|
ibd
|
如果没有显示的指定主键,会自动生成一个6字节的ROWID做为主键
|
2
|
MyISAM
|
不支持
|
表锁
|
支持
|
不支持
|
不支持
|
myd 数据文件
myi 索引文件
|
|
3
|
NDB
|
|
行锁
|
不支持
|
不支持
|
支持
|
|
集群存储引擎,数据全部在内存中,join操作需要网络开销
|
4
|
Memory
|
|
表锁
|
不支持
|
不支持
|
不支持
|
|
数据存在内存中,并发性差,使用哈希索引不是B+索引, MySQL临时表默认实用该存储引擎,如果数据量大,或存在Text或Blob类型的字段,则使用MyISAM存储引擎,存在磁盘上
|
5
|
Archive
|
|
行锁
|
不支持
|
不支持
|
支持
|
|
只支持Insert和Select操作,支持索引,使用zlib算法压缩数据
|
6
|
Federated
|
|
|
|
|
|
|
不存储数据,指向一台远程MySQL的表
|
7
|
Maria
|
支持
|
行锁
|
|
支持
|
支持
|
|
取代MyISAM
|