๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming/DB

[์ฟผ๋ฆฌ ํŠœ๋‹] Oracle DB ์ฟผ๋ฆฌ ํŠœ๋‹ ํšŒ๊ณ (ft. LPAD)

728x90
๋ฐ˜์‘ํ˜•

์‚ฌ๋‚ด ์—…๋ฌด ์ค‘ ์šด์˜์—์„œ 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์ดˆ ์ด๋‚ด๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•