Mysql的架构
MySql的架构大致分为四层,分别是
- 连接层: 负责接入客户端请求链接、授权认证等操作。
- 服务层: 接收sql,负责去调用函数,存储过程、触发器、对sql执行顺序排序、优化。如果是查询操作,还可以从缓存中先查询数据,提高性能。
- 引擎层: 是真正执行执行者,Mysql提高不同引擎,不同引擎的特点不同,根据需要选择。(主要未
Innodb
和myisam
) - 物理文件存储层: 在硬盘上存储系统文件,表数据,各种日志文件。并完成与存储引擎的交互。
Mysql的引擎
引擎就是实际存储数据的机制。不同的引擎机制不同,例如索引,锁等。根据不同的需求选择不同的引擎,来达到最大的效率。
查看表引擎
SHOW TABLE STATUS LIKE '表名
mysql的引擎有九种,分别是1. MyIsam , 2. InnoDB, 3. Memory, 4. Blackhole, 5. CSV, 6. Performance_Schema, 7. Archive, 8. Federated , 9 Mrg_Myisam。
但是常用的引擎只有两种:innodb和myisam。
MySQL中的常用引擎
innodb
首先Innodb
引擎是mysql的默认引擎,改引擎支持事务、行锁、外键、缓存。在mysql5之后新增了全文检索。但他不存储表的总行数。
myisam
myisam
引擎不支持事务、不支持行锁、不支持外键和缓存。它只支持表锁。存储表的总行数
区别
 所以 innodb引擎是增删改操作较多时的首选引擎。而myisam是查操作较多时的首选引擎。