๋ชฉ๋กIsolation Level (2)
DevLog ๐ถ

๐ฑ ๋ค์ด๊ฐ๊ธฐ ์ ์ง๋ ๋ฆฌ๋งํ ํฌ์คํ ์์ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช ํ๋ 'CREW' ํ ์ด๋ธ์ ๋ํด์ ์ง์ ์ฝ๋ ๋ ๋ฒจ๋ก ์์ฑํด๋ณด๊ณ ์ ํ๋ค. CREATE TABLE `CREW` ( `id` bigint NOT NULL, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; ์ฌ์ ์ค์ ์ ์ํด์ ์คํ ๋ฆฌ์ง ์์ง์ innoDB๋ก ์ค์ ํ 'CREW' ํ ์ด๋ธ์ ์์ฑํด์ค๋ค. SET AUTOCOMMIT = false; โญ๏ธ ๊ทธ๋ฆฌ๊ณ , autocommit ๋ชจ๋๋ ๊ผญ OFF๋ก ์ค์ ํด๋๊ณ ์งํํ์. ๋๋ ์ด๋ฒ์ 2๊ฐ์ ์ธ์ ์ ์ด์ด์ ์งํํ์๋ค. ๐ฑ READ UNCOMMITTED SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;..

๐ฑ ๋ค์ด๊ฐ๊ธฐ ์ ์ด๋ฒ ํฌ์คํ ์์๋ InnoDB์ ์ธ๋ฑ์ค์ ๋ฝ์ ์๊ด๊ด๊ณ์ ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค์ ๋ํด์ ์์๋ณด์. ๐ฑ ์ธ๋ฑ์ค์ ๋ฝ์ง๋ ํฌ์คํ ์์ ๋ ์ฝ๋ ๋ฝ์ ๋ํด ์ ๋ฆฌํ ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฉํธ๋ฅผ ๋จ๊ฒผ๋ค.innoDB์ ๊ฒฝ์ฐ ๋ ์ฝ๋ ์์ฒด๋ฅผ ์ ๊ทธ๋ ๊ฒ๋ณด๋ค๋, ์ธ๋ฑ์ค์ ๋ ์ฝ๋๋ฅผ ์ ๊ทผ๋ค.์ธ๋ฑ์ค๋ฅผ ์ ๊ทธ๊ธฐ ๋๋ฌธ์ ๋ ์ฝ๋ ๊ฒ์ ์ ๋ฐ๊ฒฌ๋ ๋ชจ๋ ๋ ์ฝ๋์ ๋ฝ์ ๊ฑธ๊ฒ ๋๋ค. ์๋ฅผ ๋ค์ด, crew ํ ์ด๋ธ์ age = 23์ธ ์ฌ๋์ด 100๋ช ์ด๋ผ๊ณ ์๊ฐํด๋ณด์. ์ด๋, age์๋ ์ธ๋ฑ์ค๊ฐ, name์๋ ์ธ๋ฑ์ค๊ฐ ๊ฑธ๋ ค์์ง ์์ ์ํ๋ค.SELECT COUNT(*) FROM crew WHERE age = 23; # result: 100 ํ์ง๋ง, age = 23์ด๋ฉด์ name = 'journey'์ธ ๊ฒฐ๊ณผ๋ 1๊ฐ๋ง ๋์จ๋ค๊ณ ๊ฐ์ ํด๋ณด์.SELEC..