mysql怎么避免长事务
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,小编给大家分享一下mysql怎么避免长事务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、确认是否使用了set autocommit=0。这个确认工作可以在测试环境中开展,把 My
千家信息网最后更新 2025年02月06日mysql怎么避免长事务
小编给大家分享一下mysql怎么避免长事务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
1、确认是否使用了set autocommit=0。
这个确认工作可以在测试环境中开展,把 MySQL 的 general_log 开起来,然后随便跑一个业务逻辑,通过 general_log 的日志来确认。
2、确认是否有不必要的只读事务。
有些框架会习惯不管什么语句先用 begin/commit 框起来。有些是业务并没有这个需要,但是也把好几个 select 语句放到了事务中。这种只读事务可以去掉。
3、业务连接数据库的时候,控制每个语句执行的最长时间,避免单个语句意外执行太长时间。
实例
#!/bin/bash mysql -N -h227.0.0.1 -userver_234 -pserver_234 -P8002 -e "select now(),(unix_timestamp(now()) - unix_timestamp(a.trx_started)) diff_sec,b.id,b.user,b.host,b.db,d.sql_text from information_schema.innodb_trx a inner joininformation_schema.processlist bon a.trx_mysql_thread_id=b.id and b.command = 'sleep'inner join performance_schema.threads c on b.id = c.processlist_idinner join performance_schema.events_statements_current d on d.thread_id = c.thread_id;" | while read a b c d e f g hdoif [ "$c" -gt 30 ]thenecho $(date +"%y-%m-%d %h:%m:%s")echo "processid[$d] $e@$f in db[$g] hold transaction time $c sql:$h"fidone >> /tmp/longtransaction.txt
看完了这篇文章,相信你对"mysql怎么避免长事务"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
事务
语句
业务
篇文章
最长
意外
单个
完了
实例
数据
数据库
日志
时候
时间
更多
框架
环境
知识
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何启动t3数据库
出租网络安全吗
安防综合管理平台中心服务器
石家庄九格网络技术有限公司是骗子公司吗
数据库 互锁
电大数据库应用技术2020
ping 服务器延迟
中卫网络技术哪个好
计算机网络技术500字报告
技能高考数据库基础操作题
中国最大的手机软件开发商
绿书签网络安全读后感
对数据库高级应用的认识和展望
数据库设计数字与字符串
云服务器是做什么的
为什么软件开发不是人堆出来的
哪个软件开发小程序好
表与数据库建立对象
苹果cms数据库
要学习的网络技术
电子资源包括数据库吗
mcice服务器怎么做
数据库备份时间
计算机网络技术的概念
代理服务器监控
基本服务器是一个什么
diy服务器路由器 优劣
txt 到数据库
华为终端 通信设备软件开发
X学软件开发要多久