MySQL
- 分类
- 数据库
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 00:57
答案
update没有加索引条件的话,会进行全表查询,默认会对每一条记录加nk锁,相当于就对表上锁了,这可能导致大量的事务阻塞,影响业务,甚至崩溃。正确的解决办法可以将sql_safe_updates的参数设为1,这样就代表在更新时必须在where种带上索引,或使用limit,或者wherelimit一起用。
相关题目(5)
什么是热点 key,如何处理?共源 1
分布式系统Redis
watch dog 机制是什么?共源 1
分布式系统并发锁Redis
Redis 如何实现分布式锁?共源 1
分布式系统锁Redis
分布式系统并发Redis
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(数据库).md
knowledge_noteQuestion 52: update没加索引会导致什么结果?
Source answer: update没有加索引条件的话,会进行全表查询,默认会对每一条记录加nk锁,相当于就对表上锁了,这可能导致大量的事务阻塞,影响业务,甚至崩溃。正确的解决办法可以将sql_safe_updates的参数设为1,这样就代表在更新时必须在where种带上索引,或使用limit,或者wherelimit一起用。
Reviewed answer: update没有索引条件会触发全表扫描,并可能对每条记录加next-key lock,效果接近锁全表,容易造成大量事务阻塞。可通过开启 sql_safe_updates 等方式约束危险更新。