Skip to main content

ํšจ์œจ์ ์ธ ์ฟผ๋ฆฌ ์ž‘์„ฑ

ํ•™์Šต ๋ชฉํ‘œ

์ด ์œ ๋‹›์„ ์™„๋ฃŒํ•˜๋ฉด ๋‹ค์Œ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Salesforce Query Optimizer๊ฐ€ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์„ ํƒ์  ์ฟผ๋ฆฌ์˜ ์‚ฌ์šฉ์ด ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ
  • ์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ œํ•œ

ํšจ์œจ์ ์ธ ์ฟผ๋ฆฌ๋Š” ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ฑฐ๋ฒ„๋„ˆ ์ œํ•œ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๋ชจ๋‘๊ฐ€ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•ด์•ผ ํ•˜๋Š” ๋‹ค์ค‘ ํ…Œ๋„ŒํŠธ ํ”Œ๋žซํผ์ด๋ผ๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ๋˜ํ•œ ์‹œ์Šคํ…œ ์ถฉ๋Œ ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์œ ๋ฐœํ•˜๋Š” ์ฃผ ์›์ธ์€ ๋‚ฎ์€ ์„ฑ๋Šฅ์˜ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๊ฑฐ๋ฒ„๋„ˆ ์ œํ•œ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฑฐ๋ฒ„๋„ˆ ์ œํ•œ์€ ์ผ์ข…์˜ ๋ฆฌ์†Œ์Šค ์‹ฌํŒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ชจ๋‘๊ฐ€ ๊ทœ์น™์— ๋”ฐ๋ผ ํ”Œ๋ ˆ์ดํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ํŒŒ์ด์˜ ํ‰๋“ฑํ•œ ๋ชซ์„ ๋ฐ›๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์ด ์œ ๋‹›์—์„œ๋Š” ์ œํ•œ์˜ ์ œํ•œ์„ ๋ฐ›๋Š” ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Salesforce Query Optimizer

Salesforce์˜ ๋ฐฑ์—”๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” Oracle์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, Salesforce๋Š” ์ž์ฒด ๋ฒ„์ „์˜ ์ฟผ๋ฆฌ Optimizer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์šฉ ๊ธฐ๋ฐ˜ ์ฟผ๋ฆฌ๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋น„์šฉ ๊ธฐ๋ฐ˜ ์ฟผ๋ฆฌ Optimizer์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, Salesforce๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ Optimizer๋„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ˆ˜์ง‘๋œ ํ†ต๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ†ต๊ณ„๋Š” ๋งค์ฃผ ์ˆ˜์ง‘๋˜์ง€๋งŒ, ์‹œ์Šคํ…œ์€ ๋งค์‹œ๊ฐ„ ์บ์‹ฑ๋˜๋Š” ์‚ฌ์ „ ์ฟผ๋ฆฌ๋„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ Optimizer๋Š” SOQL ์ฟผ๋ฆฌ์™€ SOSL ๊ฒ€์ƒ‰์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ๋ฅผ ์ ์ ˆํ•œ ์ƒ‰์ธ์œผ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ์ผ์ข…์˜ ๊ตํ†ต๊ฒฝ์ฐฐ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๊ณ , ์‹๋ณ„๋˜๋Š” ๊ฐ ์ž ์žฌ ์ฟผ๋ฆฌ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋น„์šฉ ๊ฐ’์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ, ์ด ๋น„์šฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์‹คํ–‰ ๊ณ„ํš์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์†”์งํžˆ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด, ์ฟผ๋ฆฌ Optimizer๊ฐ€ ์‹คํ–‰ ๊ณ„ํš์„ ์„ ํƒํ•˜๊ณ  ์ž„๊ณ„๊ฐ’์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ์‹์€ ๋‹ค์†Œ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ .NET ๊ฐœ๋ฐœ์ž๋กœ์„œ ์—ฌ๋Ÿฌ๋ถ„์€ ๋„์ „์„ ๊ทน๋ณตํ•  ๋Šฅ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒํ•˜๋ฉด, ๋ฆฌ์†Œ์Šค ์„น์…˜์˜ ๋งํฌ๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ๋งŒํผ ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ฒ” ์‚ฌ๋ก€

.NET ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋„์ „์„ ์ฆ๊ธฐ๊ณ , ํ•ญ์ƒ ์ตœ์„ ์˜ ๋ฐฉ์‹์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„ ํƒ์  ์ฟผ๋ฆฌ ์ž‘์„ฑ

์ฒซ ๋ฒˆ์งธ ์œ ๋‹›์—์„œ๋Š” WHERE ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ SOQL ๋ฌธ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„์€ AND ๋ฐ OR ์ ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ•„๋“œ๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ WHERE ์ ˆ์— ํ•„๋“œ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์ข‹๋‹ค๋Š” ์–˜๊ธฐ๋ฅผ ๋“ค์–ด๋„ ๋ณ„๋กœ ๋†€๋ผ์ง€ ์•Š์œผ์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ์ฟผ๋ฆฌ๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์„์ˆ˜๋ก ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ํ•„๋“œ๊ฐ€ ๋™์ผํ•˜์ง€ ์•Š๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ชจ๋ฅด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ํ•„๋“œ๋Š” 'ํŒŒ์›Œ' ํ•„๋“œ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WHERE ์ ˆ์—์„œ ํŒŒ์›Œ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฟผ๋ฆฌ๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ํŒŒ์›Œ ํ•„๋“œ๊ฐ€ ๊ฐ•๋ ฅํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ๋ฐ”๋กœ ์ƒ‰์ธ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ํ‘œ์ค€ ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ํ…Œ์ด๋ธ”์˜ ๊ฒฝ์šฐ ํŠน์ • ํ•„๋“œ๋Š” ์ธ๋ฑ์‹ฑ๋˜๋„๋ก ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ž๋™์œผ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•„๋“œ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์‹ฑ๋œ ํ•„๋“œ

์„ค๋ช…

Id

์‹œ์Šคํ…œ์—์„œ ์ƒ์„ฑ๋œ ๊ณ ์œ ํ•œ 18์ž ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ๊ฐœ์ฒด์˜ ๊ธฐ๋ณธ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ด๋ฆ„

ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํ•„๋“œ์ž…๋‹ˆ๋‹ค.

OwnerId

๊ฐœ์ฒด์˜ ์†Œ์œ ์ž์— ๋Œ€ํ•œ ์ฐธ์กฐ์ž…๋‹ˆ๋‹ค.

CreatedDate

๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋œ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

SystemModStamp

๋ ˆ์ฝ”๋“œ์˜ ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ ๋‚ ์งœ๊ฐ€ ํฌํ•จ๋œ ์ฝ๊ธฐ ์ „์šฉ ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๋Š” ์œ ์‚ฌํ•œ LastModifiedDate๊ฐ€ ์—†๋Š” ๊ณณ์—์„œ ์ธ๋ฑ์‹ฑ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฟผ๋ฆฌ์—์„œ ์ด ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

RecordType

RecordType์˜ ID์ž…๋‹ˆ๋‹ค. RecordType์€ ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค๋ฅธ UI ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ-์„ธ๋ถ€ ์‚ฌํ•ญ ํ•„๋“œ

๋งˆ์Šคํ„ฐ-์„ธ๋ถ€ ์‚ฌํ•ญ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์™ธ๋ถ€ ํ‚ค ํ•„๋“œ์ž…๋‹ˆ๋‹ค.

์กฐํšŒ ํ•„๋“œ

์กฐํšŒ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์™ธ๋ถ€ ํ‚ค ํ•„๋“œ์ž…๋‹ˆ๋‹ค.

๊ณ ์œ  ํ•„๋“œ

์‚ฌ์šฉ์ž ์ •์˜ ํ•„๋“œ๋Š” ์ƒ์„ฑ๋  ๋•Œ ๊ณ ์œ ํ•œ ํ•„๋“œ๋กœ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ •์˜ ํ•„๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ธ๋ฑ์‹ฑ๋ฉ๋‹ˆ๋‹ค.

์™ธ๋ถ€ ID ํ•„๋“œ

๊ณ ์œ  ํ•„๋“œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด๋Ÿฌํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ํ•„๋“œ๋Š” ์™ธ๋ถ€ ID๋กœ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ๋กœ ํ†ตํ•ฉ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ์˜ WHERE ์ ˆ์— ์ด๋Ÿฌํ•œ ์ธ๋ฑ์‹ฑ๋œ ํ•„๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค, ์ฟผ๋ฆฌ๊ฐ€ ์„ ํƒ์ ์ธ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๊ณ  ์ƒ‰์ธ์ด ์ „์ฒด ํ…Œ์ด๋ธ” ์Šค์บ”๊ณผ ๋ฐ˜๋Œ€๋กœ ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์ ์€ ์•„๋ฌด๋ฆฌ ๊ฐ•์กฐํ•ด๋„ ์ง€๋‚˜์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ : Salesforce ๊ณ ๊ฐ์€ ์ง€์› ์‚ฌ๋ก€๋ฅผ ๋งŒ๋“ค๊ณ  ์ธ๋ฑ์‹ฑ๋œ ํ•„๋“œ๊ฐ€ ์žˆ๋Š” SOQL ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•จ์œผ๋กœ์จ Salesforce ์ง€์›์— ์‚ฌ์šฉ์ž ์ •์˜ ์ƒ‰์ธ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ‰์ธ ์„ ํƒ์„ฑ ์˜ˆ์™ธ

์ฟผ๋ฆฌ์—์„œ ์ธ๋ฑ์‹ฑ๋œ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•ด์„œ ํ•ญ์ƒ ์˜ฌ๋ฐ”๋ฅธ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋น„์„ ํƒ์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์›์น˜ ์•Š๋Š” ์ „์ฒด ํ…Œ์ด๋ธ” ์Šค์บ”์ด ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์„ ํƒ์  ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋Š” ํ•ญ์ƒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌํ•ญ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • null ํ–‰์— ๋Œ€ํ•œ ์ฟผ๋ฆฌโ€”ํ•„๋“œ๊ฐ€ ๋น„์–ด ์žˆ๊ฑฐ๋‚˜ null์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ๋Š” ์ฟผ๋ฆฌ. ์˜ˆ:
    SELECT Id, Name FROM Account WHERE Custom_Field__c = null

  • ๋„ค๊ฑฐํ‹ฐ๋ธŒ ํ•„ํ„ฐ ์—ฐ์‚ฐ์žโ€”์ฟผ๋ฆฌ์— !=, NOT LIKE ๋˜๋Š” EXCLUDES ๊ฐ™์€ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ. ์˜ˆ:
    SELECT CaseNumber FROM Case WHERE Status != โ€˜Newโ€™

  • ์„ ํ–‰ ์™€์ผ๋“œ์นด๋“œโ€”๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ํ–‰ ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ:
    SELECT Id, LastName, FirstName FROM Contact WHERE LastName LIKE โ€˜%smi%โ€™

  • ๋น„๊ต ์—ฐ์‚ฐ์ž๊ฐ€ ํฌํ•จ๋œ ํ…์ŠคํŠธ ํ•„๋“œโ€”ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํ•„๋“œ์— >, <, >= ๋˜๋Š” <= ๊ฐ™์€ ๋น„๊ต ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ. ์˜ˆ:
    SELECT AccountId, Amount FROM Opportunity WHERE Order_Number__c > 10

์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ

Developer Console์—๋Š” ์ฟผ๋ฆฌ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฟผ๋ฆฌ Optimizer๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹์˜ ์ด๋ฉด์„ ์—ฟ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„์— ๋”ฐ๋ผ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”.

  1. ์„ค์ • ๋ฉ”๋‰ด์—์„œ Developer Console์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. Developer Console์—์„œ Help(๋„์›€๋ง) > Preferences(ํ™˜๊ฒฝ์„ค์ •)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. Enable Query Plan(์ฟผ๋ฆฌ ๊ณ„ํš ํ™œ์„ฑํ™”)์„ ์„ ํƒํ•˜๊ณ  true๋กœ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  4. Save(์ €์žฅ)๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. Query Editor(์ฟผ๋ฆฌ ํŽธ์ง‘๊ธฐ) ํƒญ์—์„œ Query Plan(์ฟผ๋ฆฌ ๊ณ„ํš) ๋ฒ„ํŠผ์ด Execute(์‹คํ–‰) ๋ฒ„ํŠผ ์˜†์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์ฟผ๋ฆฌ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ฎ์€ ์„ฑ๋Šฅ์˜ ์ฟผ๋ฆฌ๋ฅผ ํ‰๊ฐ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. Developer Console์—์„œ Query Editor(์ฟผ๋ฆฌ ํŽธ์ง‘๊ธฐ) ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ธฐ์กด ์ฟผ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค:
    SELECT Id, CaseNumber FROM Case WHERE Status != 'New'
  1. Query Plan(์ฟผ๋ฆฌ ๊ณ„ํš)์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๊ณ„ํš ๋Œ€ํ™” ์ƒ์ž์— ์ฟผ๋ฆฌ ๋น„์šฉ์„ ๋‚˜์—ดํ•˜๊ณ  TableScan์„ ์ˆ˜ํ–‰ํ•  ํ…Œ์ด๋ธ”์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜๋‹จ ์ฐฝ์˜ ๋ฉ”๋ชจ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ฒซ ๋ฒˆ์งธ ์ฟผ๋ฆฌ์™€ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ๋˜ ๋‹ค๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ํ•˜๋‹จ ์ฐฝ์—์„œ Query Editor(์ฟผ๋ฆฌ ํŽธ์ง‘๊ธฐ) ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ธฐ์กด ์ฟผ๋ฆฌ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค:
    SELECT Id, CaseNumber FROM Case WHERE IsClosed = true
  1. Query Plan(์ฟผ๋ฆฌ ๊ณ„ํš)์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๊ณ„ํš ๋Œ€ํ™” ์ƒ์ž์— ์ฟผ๋ฆฌ ๋น„์šฉ์„ ๋‚˜์—ดํ•˜๋Š” ํ…Œ์ด๋ธ”์ด ํ‘œ์‹œ๋˜์ง€๋งŒ, ์ด๋ฒˆ์—๋Š” ์ƒ‰์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋˜ ๋‹ค๋ฅธ ํ–‰์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๊ณ„ํš์„ ํ†ตํ•ด ์‹คํ–‰ํ•œ ๋‘ ์ฟผ๋ฆฌ๋Š” ๋ชจ๋‘ ๋™์ผํ•œ ์ˆ˜์˜ ํ–‰์„ ๊ฒ€์ƒ‰ํ–ˆ์ง€๋งŒ, ์‹คํ–‰ ๊ณ„ํš์€ ์„ ํƒ๋œ ํ•„๋“œ์™€ ์—ฐ์‚ฐ์ž์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ž์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฐจ์ด๋Š” ๊ฐœ๋ฐœ ์กฐ์ง์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์†Œํ•ด๋ณด์ด์ง€๋งŒ, ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ์กฐ์ง์˜ ์ฟผ๋ฆฌ๋ฅผ ๋น„๊ตํ•ด๋ณด๋ฉด ์ด๋Ÿฌํ•œ ์ฐจ์ด๋Š” ์—„์ฒญ๋‚œ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ์˜ ๊ฐ ์—ด์ด ํ‘œ์‹œํ•˜๋Š” ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌ์†Œ์Šค ์„น์…˜์—์„œ ์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ถ”๊ฐ€ ์ •๋ณด

๋น„๊ฒฐ์ •์  ์ˆ˜์‹ ํ•„๋“œ๊ฐ€ ํฌํ•จ๋œ ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋„๋ก ํ•ญ์ƒ ์œ ์˜ํ•˜์„ธ์š”. ์ˆ˜์‹ ํ•„๋“œ๋Š” ๋Ÿฐํƒ€์ž„ ์‹œ ํ•„๋“œ ๊ฐ’์„ ๋™์ ์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ํ•„๋“œ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์กฐ์ง์—์„œ ์• ์šฉ๋˜๋ฏ€๋กœ, ์‰ฝ๊ฒŒ ๋‚จ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ฐ’์ด ๋ณ€ํ•˜๋Š” ์ˆ˜์‹ ํ•„๋“œ๋Š” ๋น„๊ฒฐ์ •์  ํ•„๋“œ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌ์†Œ์Šค ์„น์…˜์—์„œ 'SOQL ๋ชจ๋ฒ” ์‚ฌ๋ก€: Null ๋ฐ ์ˆ˜์‹ ํ•„๋“œ' ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์•ˆํƒ€๊น๊ฒŒ๋„ ์ฟผ๋ฆฌ ๊ณ„ํš ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SOSL ์ฟผ๋ฆฌ๋ฅผ ํ‰๊ฐ€ํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  ํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋Ÿฐ ์œ ํ˜•์˜ ์ฟผ๋ฆฌ์™€ ๊ด€๋ จ๋œ ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค ์„น์…˜์— ์žˆ๋Š” '๋ชจ๋ฒ” ์‚ฌ๋ก€ ๋ฐ ์„ฑ๋Šฅ ํŒ' ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ SOSL ์ฟผ๋ฆฌ ์ž‘์„ฑ ์‹œ ํ”ผํ•ด์•ผ ํ•  ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

๋ฆฌ์†Œ์Šค

Salesforce ๋„์›€๋ง์—์„œ Trailhead ํ”ผ๋“œ๋ฐฑ์„ ๊ณต์œ ํ•˜์„ธ์š”.

Trailhead์— ๊ด€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์˜๊ฒฌ์— ๊ท€ ๊ธฐ์šธ์ด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ Salesforce ๋„์›€๋ง ์‚ฌ์ดํŠธ์—์„œ ์–ธ์ œ๋“ ์ง€ ์ƒˆ๋กœ์šด ํ”ผ๋“œ๋ฐฑ ์–‘์‹์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ ์˜๊ฒฌ ๊ณต์œ ํ•˜๊ธฐ