๋๊ตฌ ์ค๋ช
์คํ๊ณํ์ ๋ณผ ๋ ๊ฐ์ฅ ๋จผ์ ํ์ธํ ๊ฒ์ ์ถ์ ํ ์์ ์ค์ ํ ์๊ฐ ์ผ๋ง๋ ๋ฒ์ด์ก๋์ง์ ๋๋ค. ํ๋๋๋ ํต๊ณ๋ก ์ถ์ ํ ํ ์๋ฅผ ๋ฐํ์ผ๋ก ์ค์บ ๋ฐฉ์๊ณผ ์กฐ์ธ ๋ฐฉ์์ ๊ณ ๋ฅด๊ธฐ ๋๋ฌธ์, ์ด ์ซ์๊ฐ ํฌ๊ฒ ํ๋ฆฌ๋ฉด ๊ทธ ์์ ์ ํ๊น์ง ํจ๊ป ํ์ด์ง๋๋ค. ๊ณํ์์ ๋ ธ๋๋ง๋ค ๋ ์ซ์๋ฅผ ์ฝ์ด ์ ์ผ๋ฉด ๊ดด๋ฆฌ ๋ฐฐ์๋ฅผ ๊ณ์ฐํด ์ด๋ ๋ ธ๋๊ฐ ๊ฐ์ฅ ํฌ๊ฒ ์ด๊ธ๋ฌ๋์ง ๋ณด์ฌ ์ค๋๋ค.
PostgreSQL ์ ANALYZE ์ถ๋ ฅ์ ์ถ์ ํ ์์ ์ค์ ํ ์๋ฅผ ๋ชจ๋ ๋ฃจํ ํ ๋ฒ๋น ๊ฐ์ผ๋ก ์ ์ต๋๋ค. ๋ฃจํ ์๋ฅผ ํจ๊ป ๋ฃ์ผ๋ฉด ๋ ๊ฐ์ ๋๊ฐ์ด ๊ณฑํด ์ ์ฒด ํฉ๊ณ๋ก ๋ณด์ฌ ์ฃผ๋ฏ๋ก, ๊ดด๋ฆฌ ๋ฐฐ์๋ ๋ฃจํ ํ ๋ฒ ๊ธฐ์ค๊ณผ ๊ฐ์ต๋๋ค. ๊ดด๋ฆฌ ๋ฐฐ์๋ฅผ ์ผ๋ง๋ถํฐ ๋ฌธ์ ๋ก ๋ณผ์ง๋ ๊ณต์ธ๋ ๊ธฐ์ค์ด ์์ผ๋ฏ๋ก ์์น๋ฅผ ์์๋ก ์ ์ํ์ง ์๊ณ , ์ฐ๊ณ ์๋ ๊ธฐ์ค์ ๋ฃ์ผ๋ฉด ๊ทธ ๋ฐฐ์๋ฅผ ๋์ ๋ ธ๋๋ฅผ ์ธ์ด ์ค๋๋ค. ๊ณํ์ ๋์ค๋ ํญ๋ชฉ์ 2026๋ 10์ ๊ธฐ์ค PostgreSQL ํ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ป๋ง ์ ๋ฆฌํ์ต๋๋ค.
์ด ๋๊ตฌ๋ ๋ถ์ฌ๋ฃ์ ๊ณํ์ ํด์ํด ์ฃผ์ง ์์ต๋๋ค. ๊ณํ ํ์์ DB ์ ๋ฒ์ ๋ง๋ค ๋ค๋ฅด๊ณ ํญ๋ชฉ ์ด๋ฆ๋ ๋ฐ๋๋ฏ๋ก, ๊ณํ์์ ์ง์ ์ฝ์ด ์ ์ ์ซ์๋ง ๋ฐ์ต๋๋ค. ์ด๋ค ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค๋ผ๊ณ ๊ถํ๊ฑฐ๋ ์ฟผ๋ฆฌ๋ฅผ ๊ณ ์ณ ์ฃผ์ง๋ ์๊ณ , ์คํ ์๊ฐ์ ์์ธกํ์ง๋ ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
ํ๋๋๋ ์ถ์ ํ ์๋ฅผ ๋ณด๊ณ ์ค์บ ๋ฐฉ์๊ณผ ์กฐ์ธ ๋ฐฉ์์ ๊ณ ๋ฆ ๋๋ค. ์ถ์ ์ด 1ํ์ธ๋ฐ ์ค์ ๋ก ์๋ง ํ์ด ๋์ค๋ฉด Nested Loop ๋ก ๊ณ ๋ฅธ ๊ณํ์ด ์์ชฝ์ ์๋ง ๋ฒ ์คํํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ ๊ดด๋ฆฌ๊ฐ ํฐ ๋ ธ๋๋ฅผ ๋จผ์ ์ฐพ๋ ๊ฒ์ด ์์์ ๋๋ค.
๋ฐ๊ฟ ์ ์์ต๋๋ค. cost ๋ ํ๋๋๊ฐ ๊ณํ๋ผ๋ฆฌ ๋น๊ตํ๋ ค๊ณ ์ฐ๋ ์์ฒด ๋จ์๋ผ์ ์๊ฐ๊ณผ 1:1 ๋ก ๋์ํ์ง ์์ต๋๋ค. ์ค์ ๊ฑธ๋ฆฐ ์๊ฐ์ ANALYZE ๋ฅผ ๋ถ์ฌ ์คํํ ๋ค actual time ์ผ๋ก ๋ด ๋๋ค.
๋ถ์ฌ๋ฃ์ ์คํ๊ณํ์ ํด์ํ๊ฑฐ๋ ์ธ๋ฑ์ค๋ฅผ ์ถ์ฒํ๊ฑฐ๋ ์ฟผ๋ฆฌ๋ฅผ ๊ณ ์ณ ์ฃผ์ง ์์ต๋๋ค. ์ง์ ์ฝ์ด ์ ์ ํ ์๋ก ๊ดด๋ฆฌ ๋ฐฐ์๋ง ๊ณ์ฐํฉ๋๋ค.