File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -511,8 +511,10 @@ InnoDB 行锁是通过对索引数据页上的记录加锁实现的,MySQL Inno
511
511
由于 MVCC 的存在,对于一般的 ` SELECT ` 语句,InnoDB 不会加任何锁。不过, 你可以通过以下语句显式加共享锁或排他锁。
512
512
513
513
``` sql
514
- # 共享锁
514
+ # 共享锁 可以在 MySQL 5.7 和 MySQL 8.0 中使用
515
515
SELECT ... LOCK IN SHARE MODE;
516
+ # 共享锁 可以在 MySQL 8.0 中使用
517
+ SELECT ... FOR SHARE;
516
518
# 排他锁
517
519
SELECT ... FOR UPDATE ;
518
520
```
@@ -552,7 +554,10 @@ SELECT ... FOR UPDATE;
552
554
553
555
``` sql
554
556
SELECT ... FOR UPDATE
555
- SELECT ... LOCK IN SHARE MODE
557
+ # 共享锁 可以在 MySQL 5.7 和 MySQL 8.0 中使用
558
+ SELECT ... LOCK IN SHARE MODE;
559
+ # 共享锁 可以在 MySQL 8.0 中使用
560
+ SELECT ... FOR SHARE;
556
561
```
557
562
558
563
快照即记录的历史版本,每行记录可能存在多个历史版本(多版本技术)。
@@ -575,6 +580,8 @@ SELECT ... LOCK IN SHARE MODE
575
580
SELECT ...FOR UPDATE
576
581
# 对读的记录加一个S锁
577
582
SELECT ...LOCK IN SHARE MODE
583
+ # 对读的记录加一个S锁
584
+ SELECT ...FOR SHARE
578
585
# 对修改的记录加一个X锁
579
586
INSERT...
580
587
UPDATE ...
You can’t perform that action at this time.
0 commit comments