首页 > 数据库技术 > 详细

mysql数据库索引及事务demo

时间:2020-06-18 09:40:34      阅读:85      评论:0      收藏:0      [点我收藏+]

根据同一订单号同时在一个事务中对两条记录做了修改操作,导致锁表。

##数据初始化,插入模拟数据。

##窗口1 模拟
START TRANSACTION;
修改操作
COMMIT;


##窗口2 模拟
START TRANSACTION;
修改操作
COMMIT;


/** 超时报错
错误代码: 1205
Lock wait timeout exceeded; try restarting transaction
**/

##解决方法:表增加订单号,来源字段增加联合索引。


### 191229 复核 order_pay_trans_uidx,trx_inx trx_inx 查看索引记录
EXPLAIN
SELECT * FROM 表 WHERE order_no=191114460362 AND pay_kind=2002 AND trans_type=‘01‘ AND source=6;

# order_pay_trans_uidx,trx_inx trx_inx 查看索引记录
EXPLAIN
SELECT * FROM 表 WHERE order_no=191114460362 AND pay_kind=2002 AND trans_type=‘01‘ AND source=13;


mysql数据库索引及事务demo

原文:https://www.cnblogs.com/simpledev/p/13155744.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!