首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
case
yaml
main
blob
cmd
javascript
dagger
io
c语言
export
fetch
integer
php
hashset
lua
php8
emoji
function
eval
uri
testing
select
actionscrip
search
triggers
cookie
window
audio
object
jsp
shell
chat
substring
go
post
merge
match
flutter
hashcode
iostream
php5
client
heap
sum
typescript
controller
schema
jar
import
dll
keyword
settings
perl
python3
ascii
replace
request
dockerfile
hook
tags
grid
input
vba
list
require
string
cPlusPlus
erlang
config
runtime
callback
byte
scala
spring
ip
expression
httpclient
char
js
当前位置:
开发笔记
>
编程语言
> 正文
优化后的标题:事务ID分配的时间管理与效率提升策略
作者:蘑菇宝 | 来源:互联网 | 2024-10-31 12:47
本文由编程笔记#小编为大家整理,主要介绍了事务ID分配时间相关的知识,希望对你有一定的参考价值。 我们一般会用start transaction或begin开始一个事务,自然而言的我们认为在这个时候就
本文由编程笔记#小编为大家整理,主要介绍了事务ID分配时间相关的知识,希望对你有一定的参考价值。
我们一般会用start transaction或begin开始一个事务,自然而言的我们认为在这个时候就已经分配了一个事务ID,其实并不是这样,我们下面来看一个案例
首先我们添加测试数据
我们开启两个客户端,分别为session1和session2,事务隔离级别为RR
大家心里会有个疑问,为什么我sessio1先开启的事务,但session2事务提交后,我还能看到了,这不成了不可重复读了吗,其实很简单,那是因为session1的start transaction;并没有分配事务ID,到第5步的时候才分配,所以session1.trx_id>session2.trx_id,所以看到session2提交的数据这就很正常了
那么大家就会有疑问,RR隔离级别在什么时候才会分配事务ID呢,有两种方法分配
start transaction; 后面的第一个select
要不就以这种方式开启一个事务 START TRANSACTION WITH CONSISTENT SNAPSHOT;
下面我们来试下第一种方法, 我们把id=100的还是改为1来做测试
这时候session1查出来的值还是1,但是因为我们在第3步已经为session1分配了trx_id,而session2在step4才分配,因此session1.trx_id
下面我们来试下第二种方法
还是没看到session2修改后的100,那说明START TRANSACTION WITH CONSISTENT SNAPSHOT;就会分配事务ID
提示:
什么时候分配事务ID,可以通过监控这个表的记录 select * from information_schema.INNODB_TRX;每执行一步就看下数据,那么就自然而然的知道是什么时候分配的事务ID了
编程
io
session
select
format
schema
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
object
MySQL:不仅仅是数据库那么简单
MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ...
[详细]
蜡笔小新 2024-10-30 14:11:13
object
C#编程指南:实现列表与WPF数据网格的高效绑定方法
C#编程指南:实现列表与WPF数据网格的高效绑定方法 ...
[详细]
蜡笔小新 2024-10-31 10:46:47
select
MySQL 数据操作:增、删、查、改全面解析
MySQL 数据操作:增、删、查、改全面解析 ...
[详细]
蜡笔小新 2024-10-29 16:50:18
select
如何解决Oracle数据库中的ORA-01578和ORA-26040错误
本文详细探讨了如何有效解决Oracle数据库中常见的ORA-01578和ORA-26040错误。这些错误通常与数据块损坏有关,严重影响数据库的稳定性和数据完整性。文章不仅提供了详细的故障诊断步骤,还介绍了多种修复方法,包括使用RMAN工具、手动修复数据块以及预防措施,以帮助数据库管理员高效应对这些问题。 ...
[详细]
蜡笔小新 2024-10-29 11:14:07
object
【原创】深入解析 MySQL 5.7 SYS 模式架构与应用
本文首先回顾了MySQL在数据字典方面的发展历程,从MySQL 4.1引入的information_schema数据字典开始,使得用户能够通过标准SQL查询轻松获取系统元数据。在此基础上,深入探讨了MySQL 5.7中SYS模式的架构与应用场景,详细解析了其在性能监控、查询优化等方面的优势与实际应用。 ...
[详细]
蜡笔小新 2024-10-28 20:18:04
select
如何在Hive中合理配置Map和Reduce任务数量以优化不同场景下的性能表现
在Hive中合理配置Map和Reduce任务的数量对于优化不同场景下的性能至关重要。本文探讨了如何控制Hive任务中的Map数量,分析了当输入数据超过128MB时是否会自动拆分,以及Map数量是否越多越好的问题。通过实际案例和实验数据,本文提供了具体的配置建议,帮助用户在不同场景下实现最佳性能。 ...
[详细]
蜡笔小新 2024-10-31 14:33:41
object
如何在 Python 编程中实现各种数据类型的字符串转换?
如何在 Python 编程中实现各种数据类型的字符串转换? ...
[详细]
蜡笔小新 2024-10-30 19:37:27
object
成功实现Asp.Net MVC3网站与MongoDB数据库的高效集成
我们成功地构建了一个基于Asp.NET MVC3框架的网站,并实现了与MongoDB数据库的高效集成。此次更新不仅完善了基本的创建和显示功能,还全面实现了数据的增删改查操作。在创建功能方面,我们修复了之前代码中的错误,确保每个属性都能正确生成。此外,我们还对数据模型进行了优化,以提高系统的性能和稳定性。 ...
[详细]
蜡笔小新 2024-10-30 18:29:27
php
C#编程指南:Windows事件日志管理——深入解析事件源注册方法
在C#编程中,管理和操作Windows事件日志是一项重要技能。本文详细探讨了如何注册新的事件源,并通过示例代码展示了如何在应用程序中实现这一功能。具体而言,文章介绍了通过检查事件源是否存在,若不存在则进行注册的步骤,以及如何利用`EventLog`类来记录日志消息。此外,还提供了关于事件日志配置和最佳实践的深入分析,帮助开发者更好地理解和应用这一技术。 ...
[详细]
蜡笔小新 2024-10-30 15:34:54
object
voc生成xml 代码
目录 lxmlwindows安装 读取示例 可视化 生成示例 上面是代码,下面有调用示例 api调用代码,其实只有几行:这个生成代码也很简 ...
[详细]
蜡笔小新 2024-10-30 09:23:45
jsp
DHCP三层交换机设置方式 全局模式和接口模式设置方式和命令
DHCP三层交换机设置方式全局模式和接口模式设置方式和命令resetsave回车输入yreboot输入n输入y重启后就恢复默认设置了默认用户名密码adminAdmin@huawei ...
[详细]
蜡笔小新 2024-10-30 09:12:37
select
深入解析IO复用技术及其在C10K问题中的应用
本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ...
[详细]
蜡笔小新 2024-10-29 18:24:19
object
PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解
PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解 ...
[详细]
蜡笔小新 2024-10-29 16:44:38
search
Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ...
[详细]
蜡笔小新 2024-10-29 13:58:19
select
如何在PHP中实现链接输出与字符串连接的操作技巧
如何在PHP中实现链接输出与字符串连接的操作技巧 ...
[详细]
蜡笔小新 2024-10-28 18:32:48
蘑菇宝
这个家伙很懒,什么也没留下!
Tags | 热门标签
case
yaml
main
blob
cmd
javascript
dagger
io
c语言
export
fetch
integer
php
hashset
lua
php8
emoji
function
eval
uri
testing
select
actionscrip
search
triggers
cookie
window
audio
object
jsp
RankList | 热门文章
1
一文了解“IDO抢跑克星”Gnosis Auction
2
WCF学习之二
3
《春日忆家(一作春日归山)》翻译 原文赏析诗人唐李嘉祐
4
面向对象的三大特征,五大原则
5
社群运营的工作内容
6
js如何调用电话(并且能兼容所有手机)
7
《春日同会卫尉崔少卿宅》翻译 原文赏析诗人唐姚合
8
15、OSPF配置实验之LSA4、LSA5
9
如何提高工程编译速度
10
Android系统服务调用的学习
11
java大数据量调优(超赞值得收藏)
12
精通iOS开发--第15章 Grand Central Dispatch和后台处理之Block与Self的循环引用
13
开发笔记:在Laravel中创建,更新或删除记录时识别sql错误的最佳方法
14
kivy中bind的使用
15
数据解读 | 肖战代言、大师站台,瑞幸小鹿茶的套路能成功吗?
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有