๊ด€๋ฆฌ ๋ฉ”๋‰ด

CS Student’s SAP&Tech Journey๐Ÿ’ซ

[SAP] ABAP ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) (6) ํ…Œ์ด๋ธ” ์„ฑ๋Šฅ ์ตœ์ ํ™” - ํ‚ค ํ•„๋“œ / ์ธ๋ฑ์Šค / ๋ฒ„ํผ๋ง ํ™œ์šฉํ•˜๊ธฐ ๋ณธ๋ฌธ

SAP/๋”•์…”๋„ˆ๋ฆฌ Dictionary

[SAP] ABAP ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) (6) ํ…Œ์ด๋ธ” ์„ฑ๋Šฅ ์ตœ์ ํ™” - ํ‚ค ํ•„๋“œ / ์ธ๋ฑ์Šค / ๋ฒ„ํผ๋ง ํ™œ์šฉํ•˜๊ธฐ

์ธํฌ๋งˆํ‹ฑ 2025. 2. 14. 21:03

SAP ์‹œ์Šคํ…œ์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋Š” ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ž˜ ์„ค๊ณ„๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ์ตœ์ ํ™”๋œ ๊ฒ€์ƒ‰ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ๊ธ€์—์„œ๋Š” ABAP Dictionary์—์„œ ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ํ‚ค ํ•„๋“œ ํ™œ์šฉ, ์ธ๋ฑ์Šค ์„ค์ •, ๋ฒ„ํผ๋ง ๊ธฐ๋ฒ• ๋“ฑ์„ ์ ์šฉํ•˜์—ฌ ๋ณด๋‹ค ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

ABAP ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ์™€ ๊ด€๋ จ๋œ ํฌ์ŠคํŒ… ๋ณด๋Ÿฌ๊ฐ€๊ธฐ โฌ‡๏ธ

 

[ABAP] ABAP ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) (5) ๊ฐ์ฒด ์ƒ์„ฑ - ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค(DB) ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ธฐ

SAP ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ABAP Dictionary์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”(DB Table)์„ ์ •์˜ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ด

informatik.tistory.com


 

 1๏ธโƒฃ ํ‚ค ํ•„๋“œ๋ฅผ ํ™œ์šฉํ•œ ๊ฒ€์ƒ‰ ์ตœ์ ํ™”

ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ ํ‚ค ํ•„๋“œ(KEY Field)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ด๋ถ„ ๊ฒ€์ƒ‰(Binary Search)์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

SELECT * FROM zstudent_07 WHERE stdnr = '12345678'. " ํ‚ค ํ•„๋“œ ๊ฒ€์ƒ‰ (์ด๋ถ„ ๊ฒ€์ƒ‰ O)"
SELECT * FROM zstudent_07 WHERE stdbirth = '20250214'. " ํ‚ค ํ•„๋“œ๊ฐ€ ์•„๋‹˜ (์ด๋ถ„ ๊ฒ€์ƒ‰ X)"
  • ํ‚ค ํ•„๋“œ(STDNR) ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์€ ์ด๋ถ„ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ
  • ์ผ๋ฐ˜ ํ•„๋“œ(STDBIRTH) ๊ฒ€์ƒ‰์€ ์ „์ฒด ํ…Œ์ด๋ธ”์„ ํƒ์ƒ‰(Full Table Scan)ํ•˜๋ฏ€๋กœ ์†๋„๊ฐ€ ๋А๋ฆผ

 

2๏ธโƒฃ ์ธ๋ฑ์Šค(Index) ํ™œ์šฉ

์ธ๋ฑ์Šค(Index)๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํ‚ค ํ•„๋“œ๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋„ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

โœ… ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ผ๋ฐ˜ ํ•„๋“œ๋„ ์ด๋ถ„ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด, BIRTH ํ•„๋“œ๋ฅผ ์ž์ฃผ ์กฐํšŒํ•œ๋‹ค๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ๊ฐœ์„  ๊ฐ€๋Šฅ
  • ์ธ๋ฑ์Šค ํ™•์ธ ๋ฐฉ๋ฒ•: SE11 → ํ…Œ์ด๋ธ” ์„ ํƒ → Index ํƒญ → ๋”๋ธ” ํด๋ฆญํ•˜์—ฌ ํ™•์ธ

 

โœ… ์ธ๋ฑ์Šค ์ƒ์„ฑ ๋ฐฉ๋ฒ•

  1. Create INDEX: ์ง์ ‘ ๋งŒ๋“  ํ…Œ์ด๋ธ”(ZSTUDENT_07)์— ์ธ๋ฑ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ, ํ•ญ์ƒ Z์™€ Y๋กœ ์‹œ์ž‘
  2. Create Extension INDEX: SAP ํ‘œ์ค€ ํ…Œ์ด๋ธ”์— ์ธ๋ฑ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ

 

โœ… ์ธ๋ฑ์Šค ์ข…๋ฅ˜

  • Primary Index: ํ‚ค ํ•„๋“œ๋กœ ์ž๋™ ์ƒ์„ฑ๋˜๋Š” ๊ธฐ๋ณธ ์ธ๋ฑ์Šค
  • Secondary Index: ์ˆ˜์ž‘์—…์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์ธ๋ฑ์Šค (์˜ˆ: ์ƒ๋…„์›”์ผ ํ•„๋“œ์— ์ธ๋ฑ์Šค ์ถ”๊ฐ€)
CREATE INDEX zidx_birth ON zstudent_07 (stdbirth).

 

3๏ธโƒฃ ํ…Œ์ด๋ธ” ๋ฒ„ํผ๋ง(Buffering) ํ™œ์šฉ

๋ฒ„ํผ๋ง์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB)๋กœ ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ , ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ… ๋ฒ„ํผ๋ง์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด DB ๋Œ€๋น„ 100๋ฐฐ ์†๋„ ํ–ฅ์ƒ ๊ฐ€๋Šฅ 

โœ… ๋‹จ, ๋ฒ„ํผ ํฌ๊ธฐ๊ฐ€ ์ œํ•œ์ ์ด๋ฏ€๋กœ ์ ์ ˆํ•œ ์„ค์ •์ด ํ•„์š”

 

๐Ÿ“Œ ๋ฒ„ํผ๋ง ์ข…๋ฅ˜

  1. Full Buffering (์ „์ฒด ๋ฒ„ํผ๋ง)
    • ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ
    • ์ž‘์€ ํฌ๊ธฐ์˜ ํ…Œ์ด๋ธ”์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ (32KB ์ดํ•˜)
  2. Generic Buffering (๋ถ€๋ถ„ ๋ฒ„ํผ๋ง)
    • ํŠน์ • ํ‚ค ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„ํผ๋ง
    • ํ…Œ์ด๋ธ”์˜ ์ง€๋ฉ”๋ฆญ ํ‚ค๊ฐ€ 2๋กœ ์„ค์ •๋˜์–ด์žˆ๋Š” ์ƒํƒœ์ด๋ฉด, ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ณ  ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ์•ž 2๊ฐœ ํ•„๋“œ๊ฐ€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋“ค์ด ๋ฒ„ํผ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ: ์ง€๋ฉ”๋ฆญ ํ‚ค(Generic Key) = ํ‚ค ํ•„๋“œ ๊ฐœ์ˆ˜ - 1
  3. Single Record Buffering (๋‹จ์ผ ๋ ˆ์ฝ”๋“œ ๋ฒ„ํผ๋ง)
    • ํŠน์ • ํ•œ ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹ฑ
    • SELECT SINGLE * ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์ ์šฉ ๊ฐ€๋Šฅ

 

โœ… ๋ฒ„ํผ๋ง ์„ค์ • ๋ฐฉ๋ฒ•

  • SE11 → ํ…Œ์ด๋ธ” ์„ ํƒ → Technical Settings → Buffering ์˜ต์…˜ ์„ค์ •
  • buffering allowed but switched off → ์„ค์ •ํ–ˆ์ง€๋งŒ ๋™์ž‘ ์•ˆ ํ•จ (ํ™œ์„ฑํ™” ํ•„์š”)

 

โœ… ZSTUDENT_07 ํ…Œ์ด๋ธ” ๋ฒ„ํผ๋ง ์˜ˆ์‹œ

  • Generic Buffering ์‚ฌ์šฉ ๊ฐ€๋Šฅ (์ง€๋ฉ”๋ฆญ ํ‚ค ๊ฐ’์€ 1๋กœ ์„ค์ •ํ•ด์•ผ ํ•จ)
  • Full Buffering์€ ํ…Œ์ด๋ธ”์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ

 

4๏ธโƒฃ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ตํ‹ฐ๋งˆ์ด์ €(Database Optimizer)

ABAP์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ๊ฐ€์žฅ ์ ์ ˆํ•œ ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ•(ํ‚ค ๊ฒ€์ƒ‰, ์ธ๋ฑ์Šค, ๋ฒ„ํผ๋ง ๋“ฑ)์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

โœ… ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์ตœ์ ํ™” ๊ณผ์ •

  1. ํ‚ค ํ•„๋“œ ๊ฒ€์ƒ‰ → ์ž๋™์œผ๋กœ ์ด๋ถ„ ๊ฒ€์ƒ‰ ์ˆ˜ํ–‰
  2. ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰ → ๋น„-ํ‚ค ํ•„๋“œ๋„ ๋น ๋ฅด๊ฒŒ ์กฐํšŒ ๊ฐ€๋Šฅ
  3. ๋ฒ„ํผ๋ง ์‚ฌ์šฉ → DB ์ ‘๊ทผ ์—†์ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ

๐Ÿ’ก ์ฆ‰, ABAP์—์„œ ๊ฒ€์ƒ‰ํ•  ๋•Œ ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์ตœ์ ์˜ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.