MySQL系列之九——MySQL事务和隔离级别

DML :
DELETE
INSERT INTO
UPDATE
与查询操作有关

INSERT INTO tb_name (col1,col2,...) VALUES (val1,val2,...)[,(val1,val2,...)]
字符型 :单引号
数值型 :不需要引号
日期时间型
空值 :NULL
REPLACE INTO 替换 用法相同

DELETE :
DELETE FROM tb_name WHERE condition;
truncate tb_name 清空表并重置AUTOINCREMEN计数器;

UPDATE tb_name SET col1=...,col2=... WHERE

MYSQL 机制 :
连接管理器:
接受请求
创建线程
认证用户
建立安全连接

并发控制 :
mbox : MDA
多版本并发控制 :MVCC 操作某个时间的快照

锁 :
读锁 :共享锁
写锁 :独占锁
LOCK TABLES tb_name lock_type(read|write);
UNLOCK TABLES 解除所有表的锁

锁粒度:从大到小 ,MySQL服务器仅支持表级锁,行锁需要由存储引擎完成
表锁
页锁
行锁

事务 :
RDBMS :ACID(原子性、一致性、隔离性、持久性)
事务日志 :
重做日志
redo log
撤消日志
undo log

隔离级别 :
READ-UNCOMMITRED 读未提交
READ-COMMITTED 读提交
REPATABLE READ 可重读
SERIABLEZABLE 可串行

多事务同时执行 :彼此之间互不影响的方式进行并行;
事务之间交互
通过数据集

ACID
Automicity 原子性,事务所引起的数据库操作,要么都完成,要么都不执行;
Consistency 一致性,执行前后数据库整体状态没有改变(隔离)
Isolation 隔离性 事务调度,事务之间影响最小 MVCC多版本并发控制
Durability 持久性,一旦事务成功完成,系统必须保证任何故障都不会引起事务表示出不一致性;
1、事务提交之前就已经写出数据至持久性存储;
2、结合事务日志完成;
事务日志产生顺序IO
数据文件产生随机IO

事务的状态 :
活动的 :active
部分提交的 :最后一条语句执行后
失败的
中止的
提交的
状态转换过程 :
MySQL系列之九——MySQL事务和隔离级别

事务 :允许并发执行
1、提高吞吐量和资源利用率
2、减少等待时间
事务调度 :
可恢复调度 :
无级联调度 :

SQL ,ODBC

START TANSACTION : 启动
COMMIT :提交
ROLLBACK :回滚

并发控制依赖的技术手段 :

时间戳
多版本和快照隔离

锁饿死
死锁
如果没有明确启动事务 :
autocommit :能实现自动提交,每一个操作都直接提交;
建议,明确使用事务,并且关闭自动提交
保存点 :SAVEPOINT SID
回滚至保存点 :ROLLBACK TO SID

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值