MySQL逻辑架构
MySQL的逻辑架构如上图所示,分为三层:
1)MySQL客户端
2)MySQL服务器层:核心服务模块,包含查询解析、分析、优化、缓存、所有的内置函数、所有跨存储引擎的功能(如存储过程、触发器、视图等)
3)MySQL存储引擎层
MySQL 锁粒度
MySQL有两种锁粒度:分别是表级锁和行级锁。
MySQL服务器会为诸如alter table之类的语句使用表锁,而忽略存储引擎的锁机制。而行级锁只在存储引擎层(如InnoDB, XtraDB)实现,服务器没有实现。
MySQL事务
MySQL服务器不管理事务,事务由下层的存储引擎实现。 MySQL提供了两种事务型的存储引擎:InnoDB和NDB Cluster,另外还有一些第三方的存储引擎如:XtraDB和PBXT。
注意:不要再同一个事务中、操作多种存储引擎的表,因为一旦该事务需要回滚,非事务型的表无法撤销,可能会导致数据库处于不一致的状态。