shared lock(= S Lock) | 여러 transaction이 동시에 같은 row에 S lock을 걸 수 있다. |
| S lock이 걸려있는 row에 다른 transactional X lock을 걸 수 없다. |
| ( 다른 transaction이 읽고 있는 row를 수정/삭제 할 수 없다.) |
| |
exclusive lock (= X Lock) | X lock이 걸려있는 row에는 다른 transaction이 S/X lock을 모두 걸 수 없다. |
| ( 다른 transaction이 수정/삭제하고 있는 row를 읽기/수정/삭제 for update 할 수 없다. for update가 아닌 읽기는 가능하다.) |
| |
Intention Shared Lock (= IS Lock) | Table-level Lock |
| row에 대해서 나중에 어떤 row-level 락을 걸 것을 알려주기 위해 미리 table-level에 걸어두는 lock |
| transaction이 shared lock을 잡을 의도가 있음을 의미 |
| |
Intention Exclusive Lock (IX) | Table-level Lock |
| row에 대해서 나중에 어떤 row-level 락을 걸 것을 알려주기 위해 미리 table-level에 걸어두는 lock |
| transaction이 exclusive lcok을 잡을 의도가 있음을 의미 |