文章详情页
Windows环境开俩个CMD窗口操作MySQL测试加锁的疑问
问题描述
我在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
相关文章:
1. javascript - 百度地图自己的产品可以精确定位,为什么我调用他的公开API却必须经过用户同意才能获取精确定位,而且还慢?2. 网页爬虫 - Python爬虫入门知识3. mybatis - Java关于Mysql的随机id生成4. 怎么学好php5. 后台系统的左侧导航窗格如何修改6. javascript - echart+百度地图7. mysql - 数据库建字段,默认值空和empty string有什么区别 1108. 在MySQL数据库中查询表里的记录条数的代码怎么写?9. python - import里的dot是以哪个路径作为根目录的?10. python - Django找不到报错找不到模块,但是文件中有
排行榜