MySQL 架构与历史

和自甴很熟 提交于 2020-02-27 08:35:33

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;

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!