码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 架构与历史

时间:2018-08-12 10:28:53      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:heap   between   也有   mysq   死锁   写锁   系统版本   vcc   myisam   

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;

 

MySQL 架构与历史

标签:heap   between   也有   mysq   死锁   写锁   系统版本   vcc   myisam   

原文地址:https://www.cnblogs.com/quepq/p/9461789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!