哪位大神知道,mysql在update的时候,where条件为空的话,会锁整个表吗
程序猿.撒拉多吧:你试试不就行了
自由职业员工:那就就更新全表了嘛,你说呢
隆美尔:不是啊,为空就是一条都没更新啊
自由职业员工:不写where难道不是更新全表??
隆美尔:写where,where的条件查不到数据
脑壳疼:那就更新不了数据呗 哪里会锁表
程序猿.福康安:如果没有索引,需求全表扫描,要加表级共亨锁,如果有索引分是唯一还是非唯一,还得结合隔离级别
马岱:如何试?怎么判断呢
程序猿.福康安:无索引上表级共享锁
萧让:是的,无法
北京春闱科技有限公司员工:行锁是根据索引实现的 不写where或者没有命中索引 都会锁表
太兮:表级排它锁吧
程序猿.福康安:有待确认,我认为是先查到目标记录再更新,上共享锁就够了
程序猿.袁伟:是的,没索引就是全表了
衡山弟子:M
程序猿.昆仑弟子:没有where就更新全表
程序猿.狐媚胡梅尔斯:m
设计狮.诸葛瑾:m
程序猿.福康安:表级共享
设计狮.诸葛瑾:m
设计狮.诸葛瑾:h
IT支持.薛蟠:看隔离级别
设计狮.诸葛瑾:100->666
设计狮.诸葛瑾:100->泯没噢噢噢哦哦
隆美尔:感谢各位大神,那应该就是where条件查不到数据,去update导致锁表了
设计狮.诸葛瑾:歌名->摸摸摸头
脑壳疼:他说了后面有where 根据where找不到数据
设计狮.诸葛瑾:歌名->摸摸摸头
设计狮.诸葛瑾:歌名->摸摸摸头
程序猿.福康安:错
程序猿.昆仑弟子:语法不会报错么?
隆美尔:怎么了
京东员工:再去学习一下吧[冷汗]
京东员工:rr隔离级别,gap锁开启的情况下,全表加x行锁,每一行都加,行间加gap锁,相当于锁全表。
优酷视频员工:m
百度员工:M
程序猿.想跟东哥做兄弟:M
Microsoft员工:看执行计划
今日头条员工:update实体命中唯一索引应该和where差不多,不命中就不知道了
蚂蚁金服员工:where条件为空啥意思?没数据命中?
隆美尔:是的,没查到数据
设计狮.诸葛瑾:m
设计狮.诸葛瑾:h