网站建设销售话术文本格式,wordpress 获得分类名称,站群优化公司,深圳网站建设服务中心死锁引起的原因一般是多个用户并发访问数据库导致的问题#xff0c;或是因为某个进程挂死以后资源未释放导致的。通过onstat –p可查看deadlks项大于0即表示历史总计死锁次数。对于被锁的表进行操作的时候会出现-143 ISAM error: deadlock detected的错误。当其他会话访问此表… 死锁引起的原因一般是多个用户并发访问数据库导致的问题或是因为某个进程挂死以后资源未释放导致的。通过onstat –p可查看deadlks项大于0即表示历史总计死锁次数。对于被锁的表进行操作的时候会出现-143 ISAM error: deadlock detected的错误。当其他会话访问此表出现死锁超时出现-154 ISAM error: Lock Timeout Expired 通常情况下死锁是由于应用设计和数据访问的规划没有优化而产生的如发生的频率不大可以忽略。 处理方案 1、收集deadlock的信息 onstat -g ppf查找当前dlks不为0的会话获取partnum信息 2、通过步骤1获取的partnum收集对应tblsnum onstat –k查看锁的使用和等待情况通过tblsnum对应partnum 3、通过onstat命令获取发生deadlock的SQL onstat –g sql 0从结果中查找当前所有符合sql error code的SQL信息 4、把table的锁粒度修改为更小的级别 如修改页级锁为行级锁 alter table xxx lock mode(row); 或 通过onconfig修改DEF_TABLE_LOCKMODE为ROW重启生效 5、调整数据库的隔离级别 set isolation to dirty read; set isolation to commmited read last commited; 6、缩短锁等待时间 set lock wait to n; (n秒) set lock wait to not wait; 7、分析SQL应用逻辑是否合理 主要从多个并发的SQL争用分析是否有数据进行合理的水平切割 8、根据SQL分析执行计划是否合理 set explain on avoid_excute; ; set explain off; 系统自动生成explain.out文件 9、根据步骤8产生的文件进行分析 是否未合理使用索引导致执行计划出错进一步引发了锁资源不能及时释放 10、若索引合理判断是否统计信息失效 update statistics medium for table xxx; 重新搜集统计信息 更多信息内容请移步星瑞格官方社区期待大家加入Sinoregal Tech ForumAsk questions, share solutions, and get to know the Sinoregal community.https://forum.sinoregal.cn/