mysql high performance_Mysql High Performance (1)

Mysql Logic Architecture

1. Mysql最与众不同的特点是存储引擎结构,他的设计把查询处理和server的其他task与data的存取分离开来

2. mysql逻辑结构

connection manager

查询解析优化执行:优化器会询问StorageEngine的性能及某些操作的cost

storage engine

3. cuncurrency control

Read/Write Lock

Lock Granularity: table lock、row lock

4. Transaction

isolation level:

transction logging:使事务更有效,每次修改不直接更新硬盘,而是:

1.更新内测数据

2.修改计入ts log(fast,serial io(而非random io))

3.之后再写入硬盘

Transaction in mysql:三种支持事务的存储引擎(InnoDB, NDB Cluster, Falcon);第三方engine(solidDB, PBXT)

AutoCommit

Mix storage engine in ts:server不管ts,storageEngine负责:一个事务中多种类型engine不可靠:

一个ts既有InnoDB又有MyISAM,没回滚则正常,发生回滚则MyISAM无法回滚,而且可能还没有出错信息

支持显式、隐式lock

5. MultiVersion Cuncurrency Control:多版本并发控制,与row lock配合使用,大部分情况不需要设read lock,cost更低:读不锁,写锁必要的行

InnoDB实现原理:

1. 为每一行额外存储两个值(新建 修改删除时)

2. 存储system veriosn number,当增删改事件发生时

svn:事务开始时,svn会自增长

3. 每个事务开始时,保存自己的svn

每个查询都需要校验每行的svn和事务的svn,以REPEATABLE READ为例:

select:需要满足两个条件

每一行的svn要小于等于事务的svn:事务开始前就存在/事务新建或修改了这条记录

每一行的delete version为空,或者大于当前事务:表明row未被删除,或者是事务开始之后删除的

insert: 记录新行的svn

delete:svn标记为当前行的delete id

update:新建一行,version设为svn;旧行的delete version也设为svn

6. Storage Engine:... ....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值