mysql怎么避免长事务
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,小编给大家分享一下mysql怎么避免长事务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、确认是否使用了set autocommit=0。这个确认工作可以在测试环境中开展,把 My
千家信息网最后更新 2025年11月09日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安全错误
数据库的锁怎样保障安全
校园网络安全取得的成效报告
iptv服务器管理地址
网络技术人员
孙悟空识字软件开发
太原市网络安全知识
服务器管理端口地址
云服务器1核是1线程吗
低功耗 家用服务器
linux数据库服务启动
网络安全宣传教育
山西开源软件开发java
野村互联网科技股
梦幻西游平转服务器哪个区好点
海归求职软件开发
公主链接的服务器
这就是江湖万里惊鸿服务器
特殊时期网络安全工作
点菜管理系统数据库设计
金融科技属于互联网金融吗
网络安全战略研究所所长
软件开发先进新技术
湖南广眼视通网络技术有限公司
常州工业网络技术口碑推荐
软件开发教程论坛
科技相对论互联网
我的世界服务器插件端
合肥股票软件开发公司
湖南智能软件开发中介
海康服务器管理接口地址
bit在数据库是指什么