查看: 2790|回复: 2

mysql gap lock问题请教

[复制链接]
认证徽章
论坛徽章:
0
发表于 2014-3-1 11:17 | 显示全部楼层 |阅读模式
mysql 中的gap lock 说是只存在于 index record 中,那么如果所要操作的列没有 index 还怎么搞?
认证徽章
论坛徽章:
0
发表于 2014-3-1 11:39 | 显示全部楼层
在国外某个人的博客当中,也贴了一个类似的贴子。
So whats the deal with gap locking ?

http://pooteeweet.org/blog/745

使用道具 举报

回复
论坛徽章:
3
懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18蒙奇·D·路飞
日期:2017-09-21 11:23:37
发表于 2014-3-1 22:49 | 显示全部楼层
本帖最后由 lujinke 于 2014-3-1 23:13 编辑

没有index,innodb就会使用表锁,不再是行级锁
上面帖子里面说的思路也很正确:
t1 (id,c1)
---------------
1,1
2,2
5,5

表1上没有显式的索引
session 1                                                                                                        session 2
begin                                                                                                              begin
select * from t1 where id<3 for update------>这里会造成锁全表                     
                                                                                                                        insert into t1 values(10,10)------------->这里会被阻塞


很明显,这里就没有使用gap lock,否则只会阻塞(负无穷,3]这个区间

使用道具 举报

回复

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

本版积分规则 发表回复

PostgreSQL中国大会,参会票抢购!

由 PostgreSQL中文社区与ITPUB联合主办的第九届《PostgreSQL 中国技术大会》将在北京隆重召开。PostgreSQL 作为功能最强的的开源关系型数据库之一,得到了越来越多企业的推广和运用,也越来越受到广大技术爱好者的欢迎和重视。这将是 PostgreSQL 的又一次交流盛会。
----------------------------------------
时间:2019年11月29~11月30日

点击报名>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表