mysql并发问题

[复制链接]
查看11 | 回复7 | 2021-1-27 07:16:21 | 显示全部楼层 |阅读模式
我两个进程同时对一个表进行insert,发现会有一条数据插不进去库表,程序也不会报错,有人遇到过这个问题吗?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
我自己的猜测,是因为两个进程同时进行数据库操作,因为分属不同的事物,每个进程都会在提交之前将原数据库进行添加到缓存,每个缓存这两个缓存是一样的,当一个提交之后,数据库数据已经成功插入,第二个数据由于也是在原缓存基础上执行的insert,提交的时候会将先执行的数据覆盖。
有比较熟悉的人给解答一下吗
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
这个不要猜,你用的是innodb吗,innodb是行锁,不会出现并发写入问题
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
引用2楼wangjian0228的回复:这个不要猜,你用的是innodb吗,innodb是行锁,不会出现并发写入问题
嗯,我用的是innodb,现在是每次只要是同时过来两笔交易,后台运行都是完全正常的,日志中所有的sql也都执行了,但是后台数据库中就会少一条数据
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
这两笔交易是之间没有关系吧,你看的日志是开发日志还是mysql日志
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
引用4楼wangjian0228的回复:这两笔交易是之间没有关系吧,你看的日志是开发日志还是mysql日志

开发的日志,两笔交易之间没有冲突,都是正常交易,开发的后台也都执行成功了
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
开发日志看不出什么,还是看下 mysql的执行日志
回复

使用道具 举报

千问 | 2021-1-27 07:16:21 | 显示全部楼层
你的程序代码是什么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行