哪位大神知道,mysql在update的时候,where…

哪位大神知道,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