我在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安装的
不知道哪位可以看出什么问题?
这个我也不知道。。。
id是主键,你的写法mysql也的确锁的是不同的行,因为是行锁,为啥在windows上有这个原因,我晚上去我windows上的mysql Test看看
要看你的存储引擎是什么
mysql> show engines;
mysql> show variables like '%storage_engine%';
不同存储引擎的锁力度是不一样的。
查看是否设置里自动提交
show variables like 'autocommit'\G