Stored Procedure

Stored Procedure ๋ž€?

  • ์ผ๋ จ์˜ ์ฟผ๋ฆฌ๋ฅผ ๋งˆ์น˜ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฟผ๋ฆฌ์˜ ์ง‘ํ•ฉ

    • ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ฟผ๋ฆฌ๋ฅผ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋กœ ๋ฌถ์€ ๊ฒƒ

Stored Procedure ์˜ ์žฅ์ 

  • ์žฌ์‚ฌ์šฉ์„ฑ ๋ฐ ์ค‘๋ณต ์ฝ”๋“œ ์ตœ์†Œํ™”

    • ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” SQL๋ฌธ์„ ๋ฐ˜๋ณตํ•ด์„œ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ์žฌ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค

    • SQL์— IF๋‚˜ While๊ณผ ๊ฐ™์€ ์ œ์–ด ๋ฌธ์žฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค

  • ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๊ฐ์†Œ

    • Stored Procedure๋Š” DB ๋‚ด์—์„œ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— client โ†” db server ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค

    • ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋‚˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ client์—์„œ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ sever์—์„œ ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค

  • ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ๊ฐ์†Œ ๋ฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ

    • ์ผ๋ จ์˜ SQL๋ฌธ์„ ํ•œ ๋ฒˆ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ณ„์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋œ๋‹ค

    • DB server๊ฐ€ stored procedure๋ฅผ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜์—ฌ ์‹คํ–‰ ๊ณ„ํš์„ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋‹ค ๋น ๋ฅธ ์‹คํ–‰ ์†๋„์™€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค

  • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€

    • Stored Procedure ๋‚ด์—์„œ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ๋กœ์ง๋“ฑ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค

    • Stored Procedure ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๋ฌถ์–ด ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ฑฐ๋‚˜, ์‹คํŒจํ•œ ๊ฒฝ์šฐ ๋กค๋ฐฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค

Stored Procedure ์˜ ๋‹จ์ 

  • ๋ณต์žก์„ฑ ์ฆ๊ฐ€

    • ์ฝ”๋“œ๊ฐ€ DB ๋‚ด๋ถ€์— ์ €์žฅ๋˜๋ฏ€๋กœ application์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ๋””๋ฒ„๊น…, ํ…Œ์ŠคํŠธ, ๊ทธ๋ฆฌ๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค

  • ๋ถˆํŽธํ•œ ์œ ์ง€๋ณด์ˆ˜

    • DB ๋‚ด๋ถ€์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— SCM์„ ํ™œ์šฉํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ, ๋ณ€๊ฒฝ์„ ์ถ”์ ํ•˜๊ฑฐ๋‚˜ ๋กค๋ฐฑํ•˜๋Š” ์ž‘์—…์ด ์–ด๋ ต๋‹ค

  • DB ํ™•์žฅ ์–ด๋ ค์›€

    • Stored Procedure์˜ ๋ฌธ๋ฒ•๊ณผ ๊ธฐ๋Šฅ์€ DB ๋ฒค๋”๋งˆ๋‹ค ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด์„œ ํŠน์ • ๋ฒค๋”์— ์ข…์†๋˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค

      • ์ด๋กœ ์ธํ•ด DB๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ด๊ด€ํ•  ๋•Œ ์ˆ˜์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค

  • ์„ฑ๋Šฅ ์ตœ์ ํ™”์˜ ์ œํ•œ

    • DB engine ๋‚ด์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— application level์— ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ณด๋‹ค ์ตœ์ ํ™”ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค

      • ์ด๋กœ ์ธํ•ด ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” DB engine ๋‚ด๋ถ€ ๋™์ž‘์„ ์ดํ•ดํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค

  • ํ…Œ์ŠคํŠธ์˜ ์–ด๋ ค์›€

    • ํ…Œ์ŠคํŠธ๊ฐ€ DB ๋‚ด๋ถ€์—์„œ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ application level์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋ณต์žกํ•˜๊ณ  ๋ฒˆ๊ฑฐ๋กœ์šธ ์ˆ˜ ์žˆ๋‹ค

Last updated