大家好,又见面了,我是全栈君。
记录和总结Mysql相关的一些知识!
Mysql索引
- Mysql索引整理总结 【四星】❤❤❤❤
点评:熟悉和了解Mysql 的索引和索引的创建以及索引在实际使用中注意的点!
Mysql更新死锁问题
-
MySQL更新死锁问题 【五星】❤❤❤❤❤
-
不恰当的update语句使用主键和索引导致mysql死锁 【五星】❤❤❤❤❤
点评: 这两篇差不多,讲的都是更新出现死锁,以及给出解决方案!对实际开发中遇到死锁很有帮助!
Lock wait timeout exceeded; try restarting transaction
-- innodb_trx ## 当前运行的所有事务
-- innodb_locks ## 当前出现的锁
-- innodb_lock_waits ## 锁等待的对应关系
select * from information_schema.innodb_trx
select * from information_schema.innodb_locks
select * from information_schema.innodb_lock_waits
# 查询全局等待事务锁超时时间
SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout';
# 设置全局等待事务锁超时时间
SET GLOBAL innodb_lock_wait_timeout=100;
# 查询当前会话等待事务锁超时时间
SHOW VARIABLES LIKE 'innodb_lock_wait_timeout'
Mysql 数据库 Lock wait timeout 问题:
Mysql错误: ERROR 1205: Lock wait timeout exceeded解决办法【四星】❤❤❤❤【临时解决方案】
MySQL 5.5 – innodb_lock_wait 锁 等待【五星】❤❤❤❤
我遇到的实际问题情况:
一个线程A,循环(>1W)进行数据更新,更新过程还有一些其他的处理逻辑,每次更新后不是立刻提交事务,而是等整个循环结束导致,才提交事务!
还有其他多个线程 也同时进行数据的更新,刚好两个线程更新同一条记录,导致出现Lock wait! 然后 线程A 循环中有报错,导致 事务回滚,然后数据库中哟一批数据一致处理不了。
防止多线程同时更新同一条数据!
数据库sql优化
数据库优化,你不得不了解的几个阶段https://mp.weixin.qq.com/s/K2pjMHEYfOXfsOhxXVjGVw
史上最全的MySQL高性能优化实战总结!
https://blog.csdn.net/yelvgou9995/article/details/82757671
坚持学习总结,持续更新…
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121078.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...