ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ์—์„œ OFFSET ๋ฐ LIMIT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.

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

ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ์—์„œ OFFSET ๋ฐ LIMIT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.

์˜ค๋žซ๋™์•ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฑ์—”๋“œ๋ฅผ ์„ค๊ณ„ํ•ด ์™”๋‹ค๋ฉด ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

SELECT * FROM table_name LIMIT 10 OFFSET 40

๊ทธ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํŽ˜์ด์ง€ ๋งค๊น€์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๋ฉด ๊ฐ€์žฅ ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ์ ์„ ์œ ๊ฐ์Šค๋Ÿฝ๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ ๋ฐ˜๋Œ€ํ•˜๊ณ  ์‹ถ๋‚˜์š”? ๋„ˆ๋Š” ํ•  ์ˆ˜์žˆ๋‹ค. ์•„๋‹ˆ ์ง€์ถœํ•˜๋‹ค ์‹œ๊ฐ„. ๋Š์Šจํ•˜๊ฒŒ, Shopify ะธ ๋ฏน์Šค ๋งฅ์Šค ๊ทธ๋“ค์€ ์ œ๊ฐ€ ์˜ค๋Š˜ ์ด์•ผ๊ธฐํ•˜๊ณ  ์‹ถ์€ ๊ธฐ์ˆ ์„ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ๋ฒˆ๋„ ์‚ฌ์šฉํ•ด๋ณธ ์ ์ด ์—†๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ํ•œ ๋ช… ์ด์ƒ ์–ธ๊ธ‰ํ•˜์„ธ์š”. OFFSET ะธ LIMIT ํŽ˜์ด์ง€๊ฐ€ ๋งค๊ฒจ์ง„ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. MVP(Minimum Viable Product) ๋ฐ ์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ƒ๋‹นํžˆ ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋งํ•˜์ž๋ฉด "๊ทธ๋ƒฅ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค".

ํ•˜์ง€๋งŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ์•ˆ์ •์ ์ด๊ณ  ํšจ์œจ์ ์ธ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋ฉด ๊ทธ๋Ÿฌํ•œ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๋Š” ํšจ์œจ์„ฑ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š”(๋„ˆ๋ฌด ๋‚˜์œ) ํŽ˜์ด์ง€ ๋งค๊น€ ์ฟผ๋ฆฌ ์—”์ง„ ๊ตฌํ˜„์˜ ๋ฌธ์ œ์ ๊ณผ ์ด๋Ÿฌํ•œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋†’์€ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

OFFSET๊ณผ LIMIT์— ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์žˆ๋‚˜์š”?

์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด, OFFSET ะธ LIMIT ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ํ•„์š”๊ฐ€ ์—†๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋” ์ด์ƒ ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ์— ๋งž์ง€ ์•Š๋Š” ํฌ๊ธฐ๋กœ ์ปค์ง€๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ž‘์—…ํ•  ๋•Œ๋Š” ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ ค๋ฉด DBMS๊ฐ€ ํŽ˜์ด์ง€๊ฐ€ ๋งค๊ฒจ์ง„ ๊ฐ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ๋น„ํšจ์œจ์ ์ธ ์ „์ฒด ํ…Œ์ด๋ธ” ์Šค์บ” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์‚ฝ์ž… ๋ฐ ์‚ญ์ œ ์ž‘์—…์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!).

"์ „์ฒด ํ…Œ์ด๋ธ” ์Šค์บ”"(๋˜๋Š” "์ˆœ์ฐจ ํ…Œ์ด๋ธ” ์Šค์บ”", ์ˆœ์ฐจ ์Šค์บ”)์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๋Š” DBMS๊ฐ€ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰, ์ฆ‰ ๊ทธ ์•ˆ์— ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฝ์–ด์„œ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์— ๋งž๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ด๋‹ค. ์ด ์œ ํ˜•์˜ ํ…Œ์ด๋ธ” ์Šค์บ”์€ ๊ฐ€์žฅ ๋Š๋ฆฐ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ ์„œ๋ฒ„์˜ ๋””์Šคํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ๋œ ๋งŽ์€ ์ž…๋ ฅ/์ถœ๋ ฅ ์ž‘์—…์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋””์Šคํฌ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ์ง€์—ฐ๊ณผ ๋””์Šคํฌ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ž‘์—…์ด ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์‚ฌ์‹ค๋กœ ์ธํ•ด ์ƒํ™ฉ์ด ๋”์šฑ ์•…ํ™”๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 100000000๋ช…์˜ ์‚ฌ์šฉ์ž ๋ ˆ์ฝ”๋“œ๊ฐ€ ์žˆ๊ณ  ๋‹ค์Œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. OFFSET 50000000. ์ฆ‰, DBMS๋Š” ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜๊ณ (ํ•„์š”ํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค!) ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ ํ›„ ์˜ˆ๋ฅผ ๋“ค์–ด 20๊ฐœ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. LIMIT.

"50000์—์„œ 50020์—์„œ 100000๊นŒ์ง€์˜ ํ–‰์„ ์„ ํƒํ•˜์„ธ์š”"์™€ ๊ฐ™์ด ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์‹œ์Šคํ…œ์€ ์ฟผ๋ฆฌ๋ฅผ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € 50000๊ฐœ์˜ ํ–‰์„ ๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋…€๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋ถˆํ•„์š”ํ•œ ์ผ์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•„์‹œ๋‚˜์š”?

๋‚ด ๋ง์„ ๋ฏฟ์„ ์ˆ˜ ์—†๋‹ค๋ฉด ๋‚ด๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”. db-fiddle.com

ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ์—์„œ OFFSET ๋ฐ LIMIT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
db-fiddle.com์˜ ์˜ˆ

์ €๊ธฐ ์™ผ์ชฝ ๋“คํŒ์— Schema SQL, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— 100000๊ฐœ์˜ ํ–‰์„ ์‚ฝ์ž…ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์—๋Š” ํ•„๋“œ์— Query SQL, ๋‘ ๊ฐœ์˜ ์ฟผ๋ฆฌ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋Š๋ฆฐ ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

SELECT *
FROM `docs`
LIMIT 10 OFFSET 85000;

๊ทธ๋ฆฌ๊ณ  ๋™์ผํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํšจ๊ณผ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ธ ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

SELECT *
FROM `docs`
WHERE id > 85000
LIMIT 10;

์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์ดํ–‰ํ•˜๋ ค๋ฉด ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. Run ํŽ˜์ด์ง€ ์ƒ๋‹จ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์ˆ˜ํ–‰ํ•œ ํ›„ ์ฟผ๋ฆฌ ์‹คํ–‰ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋น„ํšจ์œจ์ ์ธ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋‘ ๋ฒˆ์งธ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ตœ์†Œ 30๋ฐฐ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค(์ด ์‹œ๊ฐ„์€ ์‹คํ–‰๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹œ์Šคํ…œ์€ ์ฒซ ๋ฒˆ์งธ ์ฟผ๋ฆฌ๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐ 37ms๊ฐ€ ๊ฑธ๋ ธ๋‹ค๊ณ  ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ดˆ - 1ms).

๊ทธ๋ฆฌ๊ณ  ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๋” ๋‚˜๋น  ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์ด๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ๋‚ด ์˜ˆ ์ฒœ๋งŒ ํ–‰).

๋ฐฉ๊ธˆ ๋…ผ์˜ํ•œ ๋‚ด์šฉ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ’์ด ๋†’์„์ˆ˜๋ก ์ฃผ์˜ํ•˜์„ธ์š”. OFFSET โ€” ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

OFFSET๊ณผ LIMIT์˜ ์กฐํ•ฉ ๋Œ€์‹  ๋ฌด์—‡์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์กฐํ•ฉ ๋Œ€์‹  OFFSET ะธ LIMIT ๋‹ค์Œ ๊ตฌ์„ฑํ‘œ์— ๋”ฐ๋ผ ๊ตฌ์ถ•๋œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

SELECT * FROM table_name WHERE id > 10 LIMIT 20

์ด๋Š” ์ปค์„œ ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ๋งค๊น€์„ ์‚ฌ์šฉํ•œ ์ฟผ๋ฆฌ ์‹คํ–‰์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ•ญ๋ชฉ์„ ๋กœ์ปฌ์— ์ €์žฅํ•˜๋Š” ๋Œ€์‹  OFFSET ะธ LIMIT ๊ฐ ์š”์ฒญ๊ณผ ํ•จ๊ป˜ ์ด๋ฅผ ์ „์†กํ•˜๋ ค๋ฉด ๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆ˜์‹ ํ•œ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Š” ID) ๊ทธ๋ฆฌ๊ณ  LIMIT, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์œ„์™€ ์œ ์‚ฌํ•œ ์งˆ์˜๋ฅผ ์–ป๊ฒŒ ๋œ๋‹ค.

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

๋‹ค์–‘ํ•œ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ๋น„๊ต๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋น„ํšจ์œจ์ ์ธ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ์—์„œ OFFSET ๋ฐ LIMIT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
๋Š๋ฆฐ ์š”์ฒญ

๋‹ค์Œ์€ ์ด ์š”์ฒญ์˜ ์ตœ์ ํ™”๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ์—์„œ OFFSET ๋ฐ LIMIT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
๋น ๋ฅธ ์š”์ฒญ

๋‘ ์ฟผ๋ฆฌ ๋ชจ๋‘ ์ •ํ™•ํžˆ ๋™์ผํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ฒซ ๋ฒˆ์งธ๋Š” ์™„๋ฃŒํ•˜๋Š” ๋ฐ 12,80์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๊ณ , ๋‘ ๋ฒˆ์งธ๋Š” 0,01์ดˆ๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ฐจ์ด์ ์„ ๋Š๋ผ์‹œ๋‚˜์š”?

๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ

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

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

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„์˜ ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์ด ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋ˆ„๋ฝ๋˜๋Š” ๋ฌธ์ œ์— ์ง๋ฉดํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ์ „ํ†ต์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. OFFSET ะธ LIMIT, ์šฐ๋ฆฌ์—๊ฒŒ ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฟผ๋ฆฌ ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋งค๊ฒจ์ง„ ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ๋งŒ ํ•„์š”ํ•˜๋”๋ผ๋„ ์ž๋™ ์ฆ๊ฐ€ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด ์ฃผ์ œ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด - ์—ฌ๊ธฐ์—, ์—ฌ๊ธฐ์— ะธ ์—ฌ๊ธฐ์— - ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ์ž๋ฃŒ.

๊ฒฐ๊ณผ

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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ถ„์„ํ•˜๊ณ  ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๊นŒ?

ํŽ˜์ด์ง€๋ฅผ ๋งค๊ธด ์ฟผ๋ฆฌ์—์„œ OFFSET ๋ฐ LIMIT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€