[์ฟผ๋ฆฌ ํ๋] Oracle DB ์ฟผ๋ฆฌ ํ๋ ํ๊ณ (ft. LPAD)
์ฌ๋ด ์ ๋ฌด ์ค ์ด์์์ timeout์ด ๋๊ณ ์๋ ์๋น์ค๋ฅผ ๋ฐ๊ฒฌํ๋ค.(๋ด๋ถ ์๋น์ค์ด๊ณ ์์ฃผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ์ ๋ฐ๊ฒฌ์ด ๋ฆ์๋ค.)
(์๋น์ค์ ์คํ ์๊ฐ์ด 60์ด ์ด์์ด๋ผ๋ฉด, timeout error๋ฅผ ๋ฑ๊ฒ ๋์ด์๋ค.)
๋ก๊ทธ๋ฅผ ํ์ธํด๋ณด๋ ์กฐํ ์ฟผ๋ฆฌ์์ 60์ด ์ด์ ๊ฑธ๋ฆฌ๋ ๊ฒ์ ํ์ธํ๋ค.
ํด๋น ์ ๋ฌด์ ํน์ฑ์, ๊ณ ๊ฐ ์ด๋ ฅ ํ ์ด๋ธ์ ์กฐํํ๋๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ plan์ ํ์ธํ๋ ํ ์ด๋ธ์ full scanํ๊ณ ์์๋ค.
์ด์ ํ๊ฒฝ ๊ฒฝ์ฐ, ๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒ์ด๋ฏ๋ก ๊ฐ์ ์ด ํ์ํ๋ค.
์ฟผ๋ฆฌ ์ฑ๋ฅ ์ ํ์ ์ฃผ๋ ์์ธ์ "LAPD์ ์ฌ์ฉ"
ํ๊ฒ ํ ์ด๋ธ์ ๊ณ ๊ฐ ์ด๋ ฅ์ ๊ด๋ฆฌํ๋ ํ ์ด๋ธ์ด์๊ธฐ์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ LPAD๋ฅผ ์ฌ์ฉํ์ฌ ์ข๋ณ์ ๋ชจ๋ ๊ฐ๊ณตํ๋ฏ๋ก์จ, ์ธ๋ฑ์ค ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค.
ํน์ ๊ธฐ๊ฐ์ ์กฐ๊ฑด์ผ๋ก ๊ฑธ๊ณ ์์๋๋ฐ ํด๋น ๋ถ๋ถ์ด ์๋์ ๊ฐ์ด ์ฌ์ฉํ๊ณ ์์๋ค.
WHERE
LPAD(๋ ์ง์ปฌ๋ผ, 6) = '202408'
LPAD๋ ์ง์ ํ ๊ธธ์ด ๋งํผ ํน์ ๋ฌธ์๋ฅผ ์ฑ์ฐ๋๋ฐ ์์ฒ๋ผ ๋ฌธ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๊ณต๋ฐฑ์ผ๋ก ์ฑ์ด๋ค.
๐ ๏ธ ๊ฐ์
WHERE
๋ ์ง์ปฌ๋ผ LIKE '202408' || '%'
LIKE๋ฌธ์ ์ฌ์ฉํด์ ์ธ๋ฑ์ค๋ฅผ ํ ์ ์๊ฒ ์์ ํ๋ค.
โ๏ธ ๊ฒฐ๊ณผ
์ต์ข ์ ์ผ๋ก buffer gets ์ด 3,000K -> 300K ๋ก ์ฝ 10๋ฐฐ ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์ฑ๋ฅ์ด ์ข์์ก๋ค.
์๋๋ ์กฐ๊ฑด๋ง๋ค ์์ดํ ์ ์๊ฒ ์ง๋ง 3์ด ์ด๋ด๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ผ ์ ์์๋ค.