如题,开发中遇到一个问题
usd test_db ;
begin;
select * from test_table where id = 2 for update;
commit;
上述代码如果多线程同时执行的话,在前面的线程执行完之前,后面的应该是阻塞的,然而换了一台机器到测试服务器上跑以后,该库中使用相同语句却所有线程都会同时执行完毕,也就是说排他锁失效了。
想问一下这可能是什么原因导致的,以前没见过这种情况。我使用 explain 解释后确定搜索一定走的是索引(主键),所有搜索语句也都指定了条件,为什么会这样呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.