iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >关于innodb_rollback_on_timeout测试
  • 899
分享到

关于innodb_rollback_on_timeout测试

2024-04-02 19:04:59 899人浏览 安东尼
摘要

  innodb_rollback_on_timeout  innodb_lock_wait_timeout 最开始看到innodb_rollback_on_timeout

 

innodb_rollback_on_timeout 
innodb_lock_wait_timeout
最开始看到innodb_rollback_on_timeout 时,没有好好理解transaction timeout的意思.以为只要是连接超时就会触发,今天研究了一下.只能说巨坑;
以下测试.隔离级别皆为RR模式.测试过程.

 
实验一:
innodb_rollback_on_timeout =on
innodb_lock_wait_timeout=20    
---------------------------------------|----------------------------------------|------------------------------------------------
session 1                             |            session 2                   |         session  3   
---------------------------------------|----------------------------------------|------------------------------------------------
 begin;                               |                                        |select * from infORMation_schema.innodb_trx
                                       |                                        |      order by trx_started;   
---------------------------------------|----------------------------------------|------------------------------------------------
insert into t8 values (20,'DDD');      |                                        |       1   
---------------------------------------|----------------------------------------|------------------------------------------------
                                       |            begin;                     |      2   
---------------------------------------|----------------------------------------|------------------------------------------------
                                       | update t8 set test1='yyy' where id =19;|           2   
---------------------------------------|----------------------------------------|------------------------------------------------
                                       |                                        |       2   
update t8 set test1='xxx' where id =19;|                                        |
---------------------------------------|----------------------------------------|------------------------------------------------
               堵塞                    |                                        |          2 
---------------------------------------|----------------------------------------|------------------------------------------------
20s后超时                              |                                        |       1   
事务结束;                              |    commit;                             |     0
---------------------------------------|----------------------------------------|------------------------------------------------     
 

select * from t8;    
20这个id没有;19被改为yyy;    
  
  
实验二:
innodb_rollback_on_timeout =off
innodb_lock_wait_timeout=20   
---------------------------------------|---------------------------------------|-----------------------------------------------
                 session 1             |                   session 2          |          session  3   
---------------------------------------|---------------------------------------|-----------------------------------------------
 begin;                               |                                       | select * from information_schema.innodb_trx
                                       |                                       |        order by trx_started;   
---------------------------------------|---------------------------------------|-----------------------------------------------
insert into t8 values (20,'ddd');      |                                       |              1   
---------------------------------------|---------------------------------------|-----------------------------------------------
                                       |                   begin;              |             2   
                                       |update t8 set test1='yyy' where id =19;|
---------------------------------------|---------------------------------------|-----------------------------------------------
update t8 set test1='xxx' where id =19;|                                       |               2
---------------------------------------|---------------------------------------|-----------------------------------------------
堵塞                                   |                                       |               2     
---------------------------------------|---------------------------------------|-----------------------------------------------
20s后超时                              |                                       |              2   
事务未结束                           |                                       |
---------------------------------------|---------------------------------------|-----------------------------------------------
    commit;                            |                       commit;         |               0   
---------------------------------------|---------------------------------------|-----------------------------------------------
  
select * from t8;    
20这个id存在;19被改为yyy;  

 

结果就是:如果innodb_rollback_on_timeout 为on,事务在innodb_lock_wait_timeout超时后,当前sql会报超时,并使整个事务都回滚,然后结束事务;
         如果innodb_rollback_on_timeout 为off(默认值),事务在innodb_lock_wait_timeout超时后,当前sql会超时,并终止,回滚当前sql,但整个事务不回滚,事务不结束,必须显示的回滚或提交;
 一句话:innodb_rollback_on_timeout 没什么卵用.纯碎就是坑;

您可能感兴趣的文档:

--结束END--

本文标题: 关于innodb_rollback_on_timeout测试

本文链接: https://www.lsjlt.com/news/46063.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于innodb_rollback_on_timeout测试
      innodb_rollback_on_timeout  innodb_lock_wait_timeout 最开始看到innodb_rollback_on_timeout ...
    99+
    2022-10-18
  • 关于python测试webservice
    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读。Python的更新挺快的,尤其是第三方库。对于测试人员,代码基础薄弱,用python语言容易上手。今天就python测试we...
    99+
    2023-01-31
    测试 python webservice
  • 关于Jmeter接口测试实战-Cookies
    目录场景实战一、jmeter的http cookies管理器使用二、jmeter的http cookies管理器使用三、jmeter直接用cookie管理器保存登录后的cookie信...
    99+
    2023-03-14
    Jmeter接口测试 Jmeter接口测试实战 Jmeter接口测试Cookies
  • 关于Android下的自动化测试
      前言:   现在 Android 开发非常红火,Java环境下敏捷开发是不二选择。而敏捷开发都是测试驱动。所以,近研究了一下Android下的各种自动化测试手段。本...
    99+
    2022-06-06
    自动 自动化 自动化测试 测试 Android
  • 关于long_query_time参数的一个测试
    创建测试表,其建表语句如下:mysql> show create table test1;+-------+----------------------------------------------...
    99+
    2022-10-18
  • 关于junit测试需要的依赖
    目录junit测试需要的依赖intellj idea添加依赖junit报错Dependency‘junit:junit:4.12‘ not found总结ju...
    99+
    2022-12-27
    junit测试 junit依赖 测试junit
  • 关于动态监听的一些测试
    昨天做了一个实验,环境是这样的,建立一个静态监听端口1526以及一个动态监听端口1521,并且要通过在tnsname用两种连接字符串进行连接,静态连接的字符串直接连接没有问题,可是后来动态连接的字符串怎么也...
    99+
    2022-10-18
  • 关于Net6 Xunit 集成测试的问题
    目录1.新建测试项目2.使用到的类库3.注入4.创建测试类测试方法:5.排序执行测试方法:6.运行测试项目:对于单元测试、集成测试大部分开发的朋友都懒得去写,因为这要耗费精力去设计去...
    99+
    2022-11-13
  • Angular中关于单元测试的面试题有哪些
    这篇文章主要介绍了Angular中关于单元测试的面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Angular中的测试有哪些种,基于哪些测试框架Angular的测试...
    99+
    2023-06-15
  • 关于android/ios开发中的单元测试
      很多开发人员,特别是小公司的开发人员,基本上从来不用单元测试,认为直接开发既快又好,还要做单元测试浪费时间和精力。但大公司相反,比较看重单元测试。因为有单元测试的代码,...
    99+
    2022-06-06
    单元 单元测试 ios开发 IOS 测试 Android
  • 关于软件测试的误解有哪些
    本篇内容主要讲解“关于软件测试的误解有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“关于软件测试的误解有哪些”吧!误解一:“在整个项目生命周期中,测试人员只...
    99+
    2022-10-19
  • 关于修改AUTO_INCREMENT列的默认值的测试
    其实是个很简单的操作,但是忽然有人问我就是想不起来,暂且做个笔记在这里。mysql> create table test2(id int(2) AUTO_INCREMENT,name varchar...
    99+
    2022-10-18
  • 关于python实现requests接口测试的问题
    requests接口测试的介绍 requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的...
    99+
    2022-11-12
  • 关于测试,我发现了哪些新大陆
    关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师在课堂上使用龙测为我们展示了一波测试的相关操作,我发现了一些新大陆,这篇文章就记录一下有关测试的相关操作。 开启测...
    99+
    2023-08-31
    测试工具 python 开发语言 学习
  • 关于SpringBoot单元测试(cobertura生成覆盖率报告)
    目录demo(SpringBoot 项目)覆盖率测试报告生成(cobertura)cobertura 原理1.instrument2.执行测试3.生成报告SpringBoot pom...
    99+
    2022-11-12
  • 关于移动互联网测试的发展史的科普
    我国互联网发展史很年轻,总共也就二三十年,而移动互联网的发展历史更加“幼小”,它在中国的存在也就仅仅十几年左右时间,而移动互联网是基于传统互联网而诞生的。如果要说移动互联网与传统互联网的区别,那就在于是否“移动”。现在的“移动”特性体现在“...
    99+
    2023-06-05
  • 关于Windows 8 开发之测试代码的使用方法
    1.创建解决方案和单元测试项目  1).“文件”菜单上选择“新建”,然后选择“新建项目”。  2).在“新建项目&rdqu...
    99+
    2022-06-04
    使用方法 代码 测试
  • 关于如何使用docker部署centos系统测试环境
    目录一、检查本地服务器系统版本二、检查docker版本三、检查docker状态四、下载centos镜像五、创建centos容器1.运行cnentos容器2.进入容器内六、centos...
    99+
    2023-05-14
    docker docker部署centos centos系统环境
  • 关于彻底测试你需要知道的所有事情
    什么是穷举测试?当您的团队中的所有测试人员都用尽并且所有计划的测试都已执行时,就会发生详尽的测试(也称为完整测试)。它是一种质量保证测试技术,其中测试所有场景或数据以进行测试。以更容易理解的方式,详尽的测试意味着确保在测试阶段结束时没有未发...
    99+
    2023-06-04
  • 如果这10道关于数据库的测试题你都会,面试必过!
    一、什么是数据库测试?数据库测试也称为后端测试。数据库测试分为四个不同的类别。[if !supportLists]· [endif]数据完整性测试[if !supportLists]· [endif]数据有效性测试[if !supportL...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作