查看: 496|回复: 2

怎么避免数据库事务提交造成死锁呢?

[复制链接]
论坛徽章:
1
mysql徽章
日期:2018-01-18 18:01:34
发表于 2018-1-2 15:15 | 显示全部楼层 |阅读模式

数据库

怎么避免数据库事务提交造成死锁呢?

怎么避免数据库事务提交造成死锁呢?

怎么避免数据库事务提交造成死锁呢?

多谢大家回答啊

回复

使用道具 举报

论坛徽章:
35
数据陷阱解读徽章
日期:2017-09-04 17:10:44Kaggle徽章
日期:2017-12-25 17:28:27Kaggle徽章
日期:2017-12-25 17:28:41NLP徽章
日期:2017-12-25 17:31:09Julia徽章
日期:2017-12-25 17:39:25python徽章
日期:2017-12-28 17:08:21算法导论徽章
日期:2017-12-28 17:08:38mysql徽章
日期:2018-01-18 18:01:34Oracle研习者高级
日期:2018-01-18 18:02:20Mycat徽章
日期:2018-01-25 17:05:58python徽章
日期:2018-01-25 17:06:49mysql徽章
日期:2018-02-01 17:47:18
发表于 2018-1-5 11:08 | 显示全部楼层
1、在系统实现时应规定所有存储过程、触发器、动态SQL语句段中,对多张表的操作总是使用同一顺序。       
2、对在交换期间添加记录频繁的表,使用群集索引(clustered),以减少多个用户添加记录到该表的最后一页上,在表尾产生热点,造成死锁。
3、对单张表中记录数不太多,且在交换期间select或updata较频繁的表可使用设置每页较大行的办法,减少数据在表中存放的密度,模拟行级锁,减少在该表上死锁情况的发生。
4、在存储过程、触发器、动态SQL语句段中,若对某些整张表select操作较频繁,则可能在该表上与其他访问该表的用户产生死锁。 
回复 支持 反对

使用道具 举报

论坛徽章:
8
金融徽章
日期:2018-03-01 16:43:15mysql徽章
日期:2018-04-02 15:20:43zabbix徽章
日期:2018-04-12 14:26:37Keras徽章
日期:2018-04-26 15:29:45金融徽章
日期:2018-09-13 15:38:55Oracle研习者初级
日期:2018-09-29 11:02:58python徽章
日期:2018-11-16 14:10:21智慧眼徽章
日期:2019-01-24 16:02:59
发表于 2018-1-9 15:41 | 显示全部楼层


SQL语句中不要使用太复杂的关联多表的查询;使用“执行计划”对SQL语句进行分析,对于有全表扫描的SQL语句,建立相应的索引进行优化

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-8-18 07:04 , Processed in 0.124262 second(s), 37 queries .

关闭

扫一扫加入
本版微信群