Server๐Ÿงค/QueryDsl

[QueryDsl] ํŽ˜์ด์ง€๋„ค์ด์…˜ ์ฒ˜๋ฆฌ (Offset based, Cursor based)

yujindonut 2023. 6. 4. 09:10
728x90

Offset

Offset์˜ ๋ฌธ์ œ์ 

์˜ˆ) offset์ด 50000, limit 20

20์˜ offset๊ฐ€ ์žˆ๋‹ค๋ฉด, 50020 rows๋ฅผ ์š”์ฒญํ•ด์˜ค๊ณ , ๋‚˜๋จธ์ง€ 50000๊ฐœ์˜ row๋ฅผ ๋ฒ„๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

 

 

๋Š๋ฆฐ offset ์ฟผ๋ฆฌ๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•

Offset์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•

 

Offset์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , Unique ํ•œ ๊ฐ’์„ bookmark ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜์—ฌ,

๋งˆ์ง€๋ง‰์— fetch ๋‹ค์Œ row๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก where clause๋กœ ์ ์„ ์ˆ˜ ์žˆ๋‹ค.

 

์ˆœ์„œ๊ฐ€ ํŽ˜์ด์ง€ ๊ฐ„์— ํ•ญ์ƒ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋˜๋„๋ก, ๊ณ ์œ ํ•œ ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

 

 

https://www.eversql.com/faster-pagination-in-mysql-why-order-by-with-limit-and-offset-is-slow/

 

 

 

 

 

 

 

 

 

 

 

728x90