๋ฐ๋“œ๋ฝ 1

[DB] ๋ฝ๊ณผ ๋ฐ๋“œ๋ฝ (Dead Lock)

* ๋ฝ(Lock) - ํŠธ๋žœ์žญ์…˜ ์‚ฌ์ด์˜ ๊ฐ„์„ญ์„ ๋ง‰๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํ•ต์‹ฌ์š”์†Œ - ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„ ๊ฒฝ์šฐ, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ ๋ฝ ์„ค๋ช… ๊ณต์œ ๋ฝ(S; Shared Lock) - SELECT ๋ฌธ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์ž‘์—…์— ์‚ฌ์šฉ - ๊ณต์œ ๋ฝ๋ผ๋ฆฌ๋Š” ์„œ๋กœ ํ˜ธํ™˜๋จ(๋™์‹œ์— ๊ฐ™์€ ๋ฐ์ดํ„ฐ SELECT ๊ฐ€๋Šฅ) ๋ฐฐํƒ€๋ฝ(E; Exclusive Lock) - ๋ฐ์ดํ„ฐ ์ˆ˜์ • ์ž‘์—…์ด ๋ฐœ์ƒ๋˜๋Š” INSERT, UPDATE, DELETE์—์„œ ์‚ฌ์šฉ - ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—…๋ฐ์ดํŠธ ์ž‘์—…์ด ํ•˜๋‚˜์˜ ๋ฆฌ์†Œ์Šค์— ๋™์‹œ์— ์ˆ˜ํ–‰๋˜์ง€ ๋ชปํ•˜๋„๋ก ๋ฐฉ์ง€ ์—…๋ฐ์ดํŠธ๋ฝ (U; Update Lock) - ๊ณต์œ ๋ฝ์ด ์žˆ๋Š” ์ž์›์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ ์‹œ ์‚ฌ์šฉ ์˜๋„๋ฝ(Intent Lock) - ๋ฝ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ ..