您的位置:首页技术文章
文章详情页

Windows环境开俩个CMD窗口操作MySQL测试加锁的疑问

【字号: 日期:2022-06-18 18:45:41浏览:93作者:猪猪

问题描述

我在windows上开俩个窗口第一个窗口执行:

begin;delete from ks_app_textlog where id = 2;

第二个窗口执行:

begin;delete from ks_app_textlog where id = 3;

执行结果是第二个窗口执行delete操作时卡住,应该是在等待锁,但是根据许多博客说的进行MySQL加锁分析之后,上述俩个加锁的是俩个不同的行,应该是不会卡住,我就想不明白为啥会这样,然后我到Linux下去执行,发现符合预期,并没有卡住等待锁。

注1:id是主键,没有其他索引。注2:windows上mysql是直接用5.7版本编译好的包,解压缩安装的,linux上是mysql 5.5,直接用rpm安装的

不知道哪位可以看出什么问题?

问题解答

回答1:

这个我也不知道。。。id是主键,你的写法mysql也的确锁的是不同的行,因为是行锁,为啥在windows上有这个原因,我晚上去我windows上的mysql Test看看

回答2:

要看你的存储引擎是什么

mysql> show engines;mysql> show variables like ’%storage_engine%’;

不同存储引擎的锁力度是不一样的。

查看是否设置里自动提交

show variables like ’autocommit’G

相关文章: