mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
行锁注意事项补充;
where 后条件是普通索引仍然会触发锁表,5.7已做本地实验!
This commit is contained in:
parent
540aaa15ae
commit
784e7a611a
@ -334,7 +334,7 @@ InnoDB 不光支持表级锁(table-level locking),还支持行级锁(row-level
|
||||
|
||||
### 行级锁的使用有什么注意事项?
|
||||
|
||||
InnoDB 的行锁是针对索引字段加的锁,表级锁是针对非索引字段加的锁。当我们执行 `UPDATE`、`DELETE` 语句时,如果 `WHERE`条件中字段没有命中索引或者索引失效的话,就会导致扫描全表对表中的所有记录进行加锁。这个在我们日常工作开发中经常会遇到,一定要多多注意!!!
|
||||
InnoDB 的行锁是针对索引字段加的锁,表级锁是针对非索引字段加的锁。当我们执行 `UPDATE`、`DELETE` 语句时,如果 `WHERE`条件中字段没有命中唯一索引或者索引失效的话,就会导致扫描全表对表中的所有记录进行加锁。这个在我们日常工作开发中经常会遇到,一定要多多注意!!!
|
||||
|
||||
不过,很多时候即使用了索引也有可能会走全表扫描,这是因为 MySQL 优化器的原因。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user