рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдкреНрд░рд╢реНрдирд╛рдВрдордзреНрдпреЗ OFFSET рдЖрдгрд┐ LIMIT рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛

рддреЗ рджрд┐рд╡рд╕ рдЧреЗрд▓реЗ рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдХрд╛рд│рдЬреА рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╡реНрд╣рддреА. рд╡реЗрд│ рд╕реНрдерд┐рд░ рд░рд╛рд╣рдд рдирд╛рд╣реА. рдкреНрд░рддреНрдпреЗрдХ рдирд╡реАрди рдЯреЗрдХ рдЙрджреНрдпреЛрдЬрдХрд╛рд▓рд╛ рдкреБрдвреАрд▓ Facebook рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ, рддреЗ рд╕рд░реНрд╡ рдбреЗрдЯрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рддреНрдпрд╛рдВрдирд╛ рд╣рд╛рддрд╛рд╢реА рдзрд░рддрд╛ рдпреЗрдИрд▓. рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдВрдирд╛ рдпрд╛ рдбреЗрдЯрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рддреЗ рдЪрд╛рдВрдЧрд▓реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбреЗрд▓ рдЬреЗ рддреНрдпрд╛рдВрдирд╛ рдкреИрд╕реЗ рдХрдорд╡рд┐рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддрд╛рдд. рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдирд╛ рдПрдкреАрдЖрдп рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗ рддреНрдпрд╛рдВрдирд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдорд╛рд╣рд┐рддреАрд╕рд╣ рджреНрд░реБрдд рдЖрдгрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд.

рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдкреНрд░рд╢реНрдирд╛рдВрдордзреНрдпреЗ OFFSET рдЖрдгрд┐ LIMIT рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛

рддреБрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдХрд╛рд▓рд╛рд╡рдзреАрд╕рд╛рдареА рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмреЕрдХрдПрдВрдб рдбрд┐рдЭрд╛рдЗрди рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдХрджрд╛рдЪрд┐рдд рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдХреНрд╡реЗрд░реА рд░рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдб рд▓рд┐рд╣рд┐рд▓рд╛ рдЕрд╕реЗрд▓. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпрд╛рд╕рд╛рд░рдЦреЗ:

SELECT * FROM table_name LIMIT 10 OFFSET 40

рддреЛ рдорд╛рд░реНрдЧ рдЖрд╣реЗ?

рдкрд░рдВрддреБ рдЬрд░ рддреБрдореНрд╣реА рддреБрдордЪреЗ рдкреГрд╖реНрдард╛рдВрдХрди рдЕрд╕реЗ рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рдорд▓рд╛ рд╕рд╛рдВрдЧрд╛рдпрд▓рд╛ рдЦреЗрдж рд╡рд╛рдЯрддреЛ рдХреА рддреБрдореНрд╣реА рддреЗ рд╕рд░реНрд╡рд╛рдд рдХрд╛рд░реНрдпрдХреНрд╖рдо рдкрджреНрдзрддреАрдиреЗ рдХреЗрд▓реЗ рдирд╛рд╣реА.

рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рдЭреНрдпрд╛рд╡рд░ рдЖрдХреНрд╖реЗрдк рдШреНрдпрд╛рдпрдЪрд╛ рдЖрд╣реЗ рдХрд╛? рдЖрдкрдг рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛ рдирд╛рд╣реА рдЦрд░реНрдЪ ╨▓╤А╨╡╨╝╤П. рдордВрджреАрдЪрд╛ рдХрд╛рд│, Shopify ╨╕ рдорд┐рдХреНрд╕рдореЕрдХреНрд╕ рдореА рдЖрдЬ рдЬреНрдпрд╛ рддрдВрддреНрд░рд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ рдЗрдЪреНрдЫрд┐рддреЛ рддреЗ рддреЗ рдЖрдзреАрдЪ рд╡рд╛рдкрд░рдд рдЖрд╣реЗрдд.

рдХрдореАрдд рдХрдореА рдПрдХрд╛ рдмреЕрдХрдПрдВрдб рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪреЗ рдирд╛рд╡ рджреНрдпрд╛ рдЬреНрдпрд╛рдиреЗ рдХрдзреАрд╣реА рд╡рд╛рдкрд░рд▓рд╛ рдирд╛рд╣реА OFFSET ╨╕ LIMIT рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдкреНрд░рд╢реНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. MVP (рдХрд┐рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдЙрддреНрдкрд╛рджрди) рдордзреНрдпреЗ рдЖрдгрд┐ рдЬреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдХрдореА рдкреНрд░рдорд╛рдгрд╛рдд рдбреЗрдЯрд╛ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ, рддреЗрдереЗ рд╣рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рдЕрдЧрджреА рд▓рд╛рдЧреВ рдЖрд╣реЗ. рддреЗ "рдлрдХреНрдд рдХрд╛рд░реНрдп рдХрд░рддреЗ," рдореНрд╣рдгреВрди рдмреЛрд▓рдгреЗ.

рдкрд░рдВрддреБ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдкреНрд░рдгрд╛рд▓реА рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреА рдЕрд╕рд▓реНрдпрд╛рд╕, рдЕрд╢рд╛ рдкреНрд░рдгрд╛рд▓реАрдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреА рдХреНрд╡реЗрд░реА рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдмрджреНрджрд▓ рддреБрдореНрд╣реА рдЖрдЧрд╛рдК рдХрд╛рд│рдЬреА рдШреЗрддрд▓реА рдкрд╛рд╣рд┐рдЬреЗ.

рдЖрдЬ рдЖрдкрдг рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдХреНрд╡реЗрд░реА рдЗрдВрдЬрд┐рдирдЪреНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ (рдЦреВрдк рд╡рд╛рдИрдЯ) рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдмрджреНрджрд▓ рдЖрдгрд┐ рдЕрд╢рд╛ рдХреНрд╡реЗрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛рдирд╛ рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╢реА рдорд┐рд│рд╡рд╛рдпрдЪреА рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ.

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 рдкрдЯ рдЬрд╛рд╕реНрдд рд╡реЗрд│ рд▓рд╛рдЧрддреЛ (рд╣реА рд╡реЗрд│ рд░рди рддреЗ рд░рди рдкрд░реНрдпрдВрдд рдмрджрд▓рддреЗ; рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд┐рд╕реНрдЯрдо рдЕрд╣рд╡рд╛рд▓ рджреЗрдК рд╢рдХрддреЗ рдХреА рдкрд╣рд┐рд▓реНрдпрд╛ рдХреНрд╡реЗрд░реАрд▓рд╛ рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА 37 ms рд▓рд╛рдЧрд▓рд╛, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рджреБрд╕рд░рд╛ - 1 рдПрдордПрд╕).

рдЖрдгрд┐ рдЬрд░ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдЕрд╕реЗрд▓ рддрд░ рд╕рд░реНрд╡рдХрд╛рд╣реА рдЖрдгрдЦреА рд╡рд╛рдИрдЯ рджрд┐рд╕реЗрд▓ (рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдкрд╣рд╛ рдЙрджрд╛рд╣рд░рдг 10 рджрд╢рд▓рдХреНрд╖ рдкрдВрдХреНрддреАрдВрд╕рд╣).

рдЖрдореНрд╣реА рдиреБрдХрддреАрдЪ рдЬреНрдпрд╛ рдЧреЛрд╖реНрдЯреАрдВрд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЖрд╣реЗ рддреНрдпрд╛рд╡рд░реВрди рддреБрдореНрд╣рд╛рд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реАрд╡рд░ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдХрд╢реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реА рдЕрдВрддрд░реНрджреГрд╖реНрдЯреА рджрд┐рд▓реА рдкрд╛рд╣рд┐рдЬреЗ.

рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рдореВрд▓реНрдп рдЬрд┐рддрдХреЗ рдЬрд╛рд╕реНрдд рдЕрд╕реЗрд▓ OFFSET - рд╡рд┐рдирдВрддреА рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рд╕ рдЬрд┐рддрдХрд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│ рд▓рд╛рдЧреЗрд▓.

OFFSET рдЖрдгрд┐ LIMIT рдЪреНрдпрд╛ рд╕рдВрдпреЛрдЬрдирд╛рдРрд╡рдЬреА рдореА рдХрд╛рдп рд╡рд╛рдкрд░рд╛рд╡реЗ?

рд╕рдВрдпреЛрдЬрдирд╛рдРрд╡рдЬреА OFFSET ╨╕ LIMIT рдЦрд╛рд▓реАрд▓ рдпреЛрдЬрдиреЗрдиреБрд╕рд╛рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рд░рдЪрдирд╛ рд╡рд╛рдкрд░рдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ:

SELECT * FROM table_name WHERE id > 10 LIMIT 20

рд╣реЗ рдХрд░реНрд╕рд░ рдЖрдзрд╛рд░рд┐рдд рдкреГрд╖реНрдард╛рдВрдХрдирд╛рд╕рд╣ рдХреНрд╡реЗрд░реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрд╣реЗ.

рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рд╡рд░реНрддрдорд╛рди рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА OFFSET ╨╕ LIMIT рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдирдВрддреАрд╕рд╣ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рд╛, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╢реЗрд╡рдЯрдЪреА рдкреНрд░рд╛рдкреНрдд рдкреНрд░рд╛рдердорд┐рдХ рдХреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╣реЗ рдЖрд╣реЗ ID) рдЖрдгрд┐ LIMIT, рдкрд░рд┐рдгрд╛рдореА, рд╡рд░реАрд▓ рдкреНрд░рдорд╛рдгреЗрдЪ рдкреНрд░рд╢реНрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреАрд▓.

рдХрд╛? рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рд╡рд╛рдЪрд▓реЗрд▓реНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдкрдВрдХреНрддреАрдЪрд╛ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрди, рдЖрдкрдг рдЖрдкрд▓реНрдпрд╛ DBMS рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╢реЛрдзрдгреЗ рдХреЛрдареЗ рд╕реБрд░реВ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреЗ рд╕рд╛рдВрдЧрддрд╛. рд╢рд┐рд╡рд╛рдп, рдХреА рд╡рд╛рдкрд░рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж, рд╢реЛрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдЪрд╛рд▓рд╡рд┐рд▓рд╛ рдЬрд╛рдИрд▓; рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╢реНрд░реЗрдгреАрдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░реАрд▓ рдУрд│реАрдВрджреНрд╡рд╛рд░реЗ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА.

рдЪрд▓рд╛ рд╡рд┐рд╡рд┐рдз рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЦрд╛рд▓реАрд▓ рдХрд╛рдордЧрд┐рд░реА рддреБрд▓рдирд╛ рдкрд╛рд╣реВ. рдпреЗрдереЗ рдПрдХ рдЕрдкреНрд░рднрд╛рд╡реА рдХреНрд╡реЗрд░реА рдЖрд╣реЗ.

рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдкреНрд░рд╢реНрдирд╛рдВрдордзреНрдпреЗ OFFSET рдЖрдгрд┐ LIMIT рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛
рд╕рд╛рд╡рдХрд╛рд╢ рд╡рд┐рдирдВрддреА

рдЖрдгрд┐ рдпреЗрдереЗ рдпрд╛ рд╡рд┐рдирдВрддреАрдЪреА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗрд▓реА рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ.

рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдкреНрд░рд╢реНрдирд╛рдВрдордзреНрдпреЗ OFFSET рдЖрдгрд┐ LIMIT рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛
рддреНрд╡рд░рд┐рдд рд╡рд┐рдирдВрддреА

рджреЛрдиреНрд╣реА рдХреНрд╡реЗрд░реА рддрдВрддреЛрддрдВрдд рд╕рдорд╛рди рдкреНрд░рдорд╛рдгрд╛рдд рдбреЗрдЯрд╛ рдкрд░рдд рдХрд░рддрд╛рдд. рдкрдг рдкрд╣рд┐рд▓реНрдпрд╛рд▓рд╛ рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА резреи.реореж рд╕реЗрдХрдВрдж рд▓рд╛рдЧрддрд╛рдд рдЖрдгрд┐ рджреБрд╕рд▒реНрдпрд╛рд▓рд╛ реж.режрез рд╕реЗрдХрдВрдж рд▓рд╛рдЧрддрд╛рдд. рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд░рдХ рдЬрд╛рдгрд╡рддреЛ рдХрд╛?

рд╕рдВрднрд╛рд╡реНрдп рд╕рдорд╕реНрдпрд╛

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреНрд╡реЗрд░реА рдкрджреНрдзрддреА рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЯреЗрдмрд▓рдордзреНрдпреЗ рдПрдХ рд╕реНрддрдВрдн (рдХрд┐рдВрд╡рд╛ рд╕реНрддрдВрдн) рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреНрдпрд╛рдд рдЕрджреНрд╡рд┐рддреАрдп, рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛, рдЬрд╕реЗ рдХреА рдкреВрд░реНрдгрд╛рдВрдХ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ. рдХрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рд╣реЗ рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдЧрддреА рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд╢рд╛ рдХреНрд╡реЗрд░реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреЗ рдпрд╢ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВ рд╢рдХрддреЗ.

рд╕рд╛рд╣рдЬрд┐рдХрдЪ, рдХреНрд╡реЗрд░реА рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рдЯреЗрдмрд▓реНрд╕рдЪреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛ рдпрдВрддреНрд░рдгрд╛ рдирд┐рд╡рдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗ рд╡рд┐рджреНрдпрдорд╛рди рдЯреЗрдмрд▓рд╡рд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдХрд╛рд░реНрдп рдХрд░рддреАрд▓. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рд╕рд╣ рдХреНрд╡реЗрд░реАрдВрдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдордиреЛрд░рдВрдЬрдХ рд╡рд╛рдЯреЗрд▓ рд╣реЗ рд▓реЗрдЦ.

рдЬрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреНрд░рд╛рдердорд┐рдХ рдХреА рдЧрд╣рд╛рд│ рд╣реЛрдгреНрдпрд╛рдЪреА рд╕рдорд╕реНрдпрд╛ рднреЗрдбрд╕рд╛рд╡рдд рдЕрд╕реЗрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдЕрдиреЗрдХ-рддреЗ-рдЕрдиреЗрдХ рд╕рдВрдмрдВрдз рдЕрд╕рд▓реЗрд▓реЗ рдЯреЗрдмрд▓ рдЕрд╕реЗрд▓, рддрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрди OFFSET ╨╕ LIMIT, рдЖрдордЪреНрдпрд╛ рдЕрдиреБрд░реВрдк рд╣рдореА рдЖрд╣реЗ. рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдореБрд│реЗ рд╕рдВрднрд╛рд╡реНрдп рдзреАрдореЗ рдХреНрд╡реЗрд░реА рд╣реЛрдК рд╢рдХрддрд╛рдд. рдЕрд╢рд╛ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдореА рд╕реНрд╡рдпрдВ-рд╡реГрджреНрдзреА рдХрд░рдгрд╛рд░реА рдкреНрд░рд╛рдердорд┐рдХ рдХреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ, рдЬрд░реА рддреА рдХреЗрд╡рд│ рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдХреНрд╡реЗрд░реА рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓.

рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╡рд┐рд╖рдпрд╛рдд рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реНрдпрд╛рд╕ - рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛ ╨╕ рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛ - рдЕрдиреЗрдХ рдЙрдкрдпреБрдХреНрдд рд╕рд╛рд╣рд┐рддреНрдп.

рдкрд░рд┐рдгрд╛рдо

рдЖрдореНрд╣реА рдХрд╛рдвреВ рд╢рдХрддреЛ рддреЛ рдореБрдЦреНрдп рдирд┐рд╖реНрдХрд░реНрд╖ рд╣рд╛ рдЖрд╣реЗ рдХреА, рдЖрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛ рдЖрдХрд╛рд░рд╛рдЪреНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА, рдХреНрд╡реЗрд░реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рдЧрддреАрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреЗ рдиреЗрд╣рдореАрдЪ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ. рдЖрдЬрдХрд╛рд▓, рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдЪреА рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рд╛рдЪреА рдЖрд╣реЗ рдЖрдгрд┐ рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрдирдЪ рд╕рд░реНрд╡рдХрд╛рд╣реА рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЕрд╕реЗрд▓ рддрд░, рднрд╡рд┐рд╖реНрдпрд╛рдд, рд╣реЗ рд╡рд┐рдХрд╕рдХрд╛рд▓рд╛ рдмрд░реНрдпрд╛рдЪ рд╕рдорд╕реНрдпрд╛рдВрдкрд╛рд╕реВрди рд╡рд╛рдЪрд╡реВ рд╢рдХрддреЗ.

рддреБрдореНрд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реАрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдгрд┐ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд╕реЗ рдХрд░рддрд╛?

рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдкреНрд░рд╢реНрдирд╛рдВрдордзреНрдпреЗ OFFSET рдЖрдгрд┐ LIMIT рд╡рд╛рдкрд░рдгреЗ рдЯрд╛рд│рд╛

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛