mysql怎么避免长事务
发表于:2024-10-22 作者:千家信息网编辑
千家信息网最后更新 2024年10月22日,小编给大家分享一下mysql怎么避免长事务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、确认是否使用了set autocommit=0。这个确认工作可以在测试环境中开展,把 My
千家信息网最后更新 2024年10月22日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安全错误
数据库的锁怎样保障安全
多伦多软件开发费用
樱花大战下载软件开发
服务器运维工作总结
老挝网络安全管控
服务器管理员在哪
美军网络安全训练模式
包头市博赛网络技术
安卓数据库线程安全问题
it培训机构网络安全
计算机视觉软件开发
服务器的应用程序如何开启
滨城区云防网络技术服务中心
佛山广东网络安全培训
软件开发如何接活
博雅数据库2021预测分数线
神通数据库怎么看是否授权
数据库基础与应用1-5
武汉中合房网络技术
山东济南网络安全
余姚市哪个公司好做软件开发的
北京交通大学数据库
数据库总经理创始人
北京qt软件开发
工业dcs 软件开发基础
社工数据库网盘
魔兽单机服务器商业技能
计算机网络技术到底学什么
台湾高防服务器
机房网络安全设备检查
北京云桌面服务器哪家好