死锁的头号原因是外键未加索引第二号原因是位图索引遭到并发更改;
-
如何查看MySQL数据库的死锁日志
4. 如何分析日志,定位死锁原因
看3里面的图紫色划线部分`tbj`.`score_user`这个地方的S鎖,这样事务2不能加X锁,同时事务1也不能加X锁产生死锁
死锁的头号原因是外键未加索引第二号原因是位图索引遭到并发更改;
4. 如何分析日志,定位死锁原因
`tbj`.`score_user`这个地方的S鎖,这样事务2不能加X锁,同时事务1也不能加X锁产生死锁
数据库死锁是事务性数据库 (如SQL Server, MySql等)經常遇到的问题除非数据库死锁问题频繁出现导致用户无法操作,一般情况下数据库死锁问题不严重在应用程序中进行try-catch就可以
。那么數据死锁是如何产生的呢
共享锁用于事务read一行。
当客户A持有共享锁S并请求互斥锁X;同时客户B持有互斥锁X,并请求共享锁S以上情况,會发生数据库死锁
?有可能是因为上一个测试没有commit
导致死锁
有可能是连接池配置不合理
这时会发现一直在执行查询,得不到查询结果这是死锁现象
然后再执行查询语句就可以得到结果了。