前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >start transaction和start transaction with consistent snapshot区别

start transaction和start transaction with consistent snapshot区别

原创
作者头像
贺春旸的技术博客
发布2023-09-27 08:46:40
2670
发布2023-09-27 08:46:40
举报
文章被收录于专栏:DBA 平台和工具DBA 平台和工具

前言

START TRANSACTION命令开启的事务在执行期间可能会受到其他并发事务的影响,而START TRANSACTION WITH CONSISTENT SNAPSHOT命令则通过创建一致性快照,在事务执行期间保持数据的一致性,避免了并发问题的影响。因此,如果需要读取一致的数据视图,可以选择使用START TRANSACTION WITH CONSISTENT SNAPSHOT命令开启事务,这也说明了mysqldump备份数据时,会开启START TRANSACTION WITH CONSISTENT SNAPSHOT的原因。

测试用例

表结构如下:

代码语言:javascript
复制
CREATE TABLE `t1` (
  `id` int NOT NULL,
  `name` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

默认均是RR隔离级别。

实验1(start transaction或者叫begin)

实验2(start transaction with consistent snapshot)

结论:

START TRANSACTION是在第一条select执行完后,才得到事务的一致性快照。而START TRANSACTION with consistent snapshot则是立即得到事务的一致性快照。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 测试用例
    • 实验1(start transaction或者叫begin)
      • 实验2(start transaction with consistent snapshot)
      • 结论:
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档