* ๋ฝ(Lock)
- ํธ๋์ญ์ ์ฌ์ด์ ๊ฐ์ญ์ ๋ง๊ณ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํ ํต์ฌ์์
- ํ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ณ ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ์ง ๋ชปํ๋๋ก ํ๋ ๊ฒ
๋ฝ | ์ค๋ช |
๊ณต์ ๋ฝ(S; Shared Lock) | - SELECT ๋ฌธ์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์์
์ ์ฌ์ฉ - ๊ณต์ ๋ฝ๋ผ๋ฆฌ๋ ์๋ก ํธํ๋จ(๋์์ ๊ฐ์ ๋ฐ์ดํฐ SELECT ๊ฐ๋ฅ) |
๋ฐฐํ๋ฝ(E; Exclusive Lock) | - ๋ฐ์ดํฐ ์์ ์์
์ด ๋ฐ์๋๋ INSERT, UPDATE, DELETE์์ ์ฌ์ฉ - ์ฌ๋ฌ ๊ฐ์ ์ ๋ฐ์ดํธ ์์ ์ด ํ๋์ ๋ฆฌ์์ค์ ๋์์ ์ํ๋์ง ๋ชปํ๋๋ก ๋ฐฉ์ง |
์
๋ฐ์ดํธ๋ฝ (U; Update Lock) |
- ๊ณต์ ๋ฝ์ด ์๋ ์์์ ๋ํ ์ ๋ฐ์ดํธ ์ ์ฌ์ฉ |
์๋๋ฝ(Intent Lock) | - ๋ฝ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ - ์๋๊ณต์ (IS), ์๋๋ฐฐํ(IX), ์๋๋ฐฐํ๊ณต์ (SIX)๊ฐ ์์ |
์คํค๋ง๋ฝ(Schema Lock) | - ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค๊ฐ ๋ค๋ฅธ ์ธ์ ์ ์ํด ์ฐธ์กฐ๋๊ณ ์์ ๋์ ์ญ์ ๋ ๋ณ๊ฒฝ์ ๋ง์ |
๋๋ ์
๋ฐ์ดํธ๋ฝ (Bulk Update Lock) |
- ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ๋ก ๋๋ ๋ณต์ฌํ๋ ๊ฒฝ์ฐ์ TABLOCK ํํธ๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ |
* ๋ฐ๋๋ฝ(Dead Lock; ๊ต์ฐฉ์ํ)
๋ ์ด์์ ํธ๋์ญ์ ๋ค์ ์ ๊ธ์ด ์๋ก ์ฝํ์ ์์ํ ํ๋ฆฌ์ง ์๋ ์ํ
* ๋ฐ๋๋ฝ์ ํด์
- ๋ฐ๋๋ฝ ์ํ์ ์๋ ํธ๋์ญ์ ๋ค ์ค ๊ฐ์ฅ ์ ์ ์ฒ๋ฆฌ ์๊ฐ์ด ํฌ์๋ ํธ๋์ญ์ ์ ๋ฐ๋๋ฝ ํฌ์์(victim)๋ก ์ง์
- ๋ฐ๋๋ฝ์ ๋ฐ์์ํจ ๋ฌธ์ฅ์ ๋กค๋ฐฑ
- ์๋ฌ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ํธ๋์ญ์ ์ ๊ณ์ ์งํ
'software engineering > ๋ฐ์ดํฐ๋ฒ ์ด์ค์ค๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] ํจ์์ ํ๋ก์์ (0) | 2023.11.20 |
---|---|
[DB] ํํฐ์ , ๋ทฐ, ์ํ์ค (Partition, View, Sequence) (0) | 2023.11.06 |
[DB] ๋ฐ์ดํฐ ๋์์ฑ๊ณผ ์ผ๊ด์ฑ (0) | 2023.11.06 |
[DB] ํธ๋์ญ์ (Transaction) (0) | 2023.10.27 |
[DB] ์ธ๋ฑ์ค ์ ์ (0) | 2023.10.12 |