数据库mysql等相关问题整理总结

记录和总结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


坚持学习总结,持续更新…

你可能感兴趣的:(Mysql总结)