1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Merge pull request #1766 from HasanSANG/patch-1

行锁注意事项补充;
This commit is contained in:
Guide 2022-07-03 20:56:56 +08:00 committed by GitHub
commit aaa09f62e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -334,7 +334,7 @@ InnoDB 不光支持表级锁(table-level locking),还支持行级锁(row-level
### 行级锁的使用有什么注意事项? ### 行级锁的使用有什么注意事项?
InnoDB 的行锁是针对索引字段加的锁,表级锁是针对非索引字段加的锁。当我们执行 `UPDATE``DELETE` 语句时,如果 `WHERE`条件中字段没有命中索引或者索引失效的话,就会导致扫描全表对表中的所有记录进行加锁。这个在我们日常工作开发中经常会遇到,一定要多多注意!!! InnoDB 的行锁是针对索引字段加的锁,表级锁是针对非索引字段加的锁。当我们执行 `UPDATE``DELETE` 语句时,如果 `WHERE`条件中字段没有命中唯一索引或者索引失效的话,就会导致扫描全表对表中的所有记录进行加锁。这个在我们日常工作开发中经常会遇到,一定要多多注意!!!
不过,很多时候即使用了索引也有可能会走全表扫描,这是因为 MySQL 优化器的原因。 不过,很多时候即使用了索引也有可能会走全表扫描,这是因为 MySQL 优化器的原因。