1、MySQL 逻辑架构,上层客户端-----》连接/线程处理------》解析器-----》优化器 -----》存储引擎,解析器如果有生成查询缓存,那么连接/线程处理也有可能直接到查询缓存,返回结果,图如下
2、并发控制,读写锁,共享锁,排他锁,锁粒度(表锁 table lock 行级锁 row lock)
3、事务 :原子性,一致性,隔离性,持久性
隔离级别:未提交度,提交读(不可重复读),可重复读 ,可串行化
死锁
MySQL 中的事务
4、多版本并发控制(MVCC),只在REPEATABLE READ 和 READ COMMIT下工作,原理就是每行记录后面加两个隐藏的列来实现,一个保存行的创建时间,一个保存行的过期时间;这个时间是指系统版本号;
4、MySQL存储引擎 InnoDB MyISAM archive(只支持isert和select操作,日志或者数据采集类) CSV fedetated引擎 Memory引擎(HEAP表)临时表局势memory引擎,场景
NDB集群引擎
第三方存储引擎(OLTP类引擎,XtrDB PBXT TokuDB)
面向列的存储引擎 infobright,大数据量
如何转换表引擎?
1、ALTER TABLE 慢,会消耗系统所有的I/O能力
2、导入与导出
3、创建与查询
create table innodb_table like myisam_table;
alter table innodb_table engine = innodb;
insert into innodb_table select * from myisam_table;
数据量大的话,可以分批使用
start transaction;
insert into innodb_table select * from myisam_table where id between x and y;
commit;
来源:https://www.cnblogs.com/quepq/p/9461789.html