แฒกแแแแแ แงแแแแแก! แแ แแแ แแแแแแแแแ แ, แ แแแแแแช แฌแแ แก แแแแ แแกแแ แแแกแแแก Java + Spring. แแ แแแฃแจแแแ Tinkoff-แแก แแ แแแฃแฅแขแแก แแแแแแแแ แแแแก แแ แ-แแ แ แจแแแ แแฃแแแจแ.
แฉแแแแก แแฃแแแจแ แฎแจแแ แแ แฉแแแแแ แแแแฎแแ DBMS-แจแ แแแแฎแแแแแแแก แแแขแแแแแแชแแแก แจแแกแแฎแแ. แแฅแแแ แงแแแแแแแแก แแแแแแ แแงแแ แชแแขแ แฃแคแ แ แกแฌแ แแคแ, แแแแ แแ แงแแแแแแแแก แแ แจแแแแซแแแแ แแแฃแแแแแแแแ แแแแแ แแแฃแแแ แแแแแฃแ แแแแแฅแกแแแก - แแฅแแแ แฃแแแ แแแซแแแแแ แ แแแแแแแแ แแแแแกแแแแแ. แแ แ-แแ แแ แแกแแแ แฎแแขแแแแแกแแก แแแขแแ แแแขแจแ, แแแแแชแแแแ แแแแแแแแ แแฃแจแแแแแกแแก แแแแแแ แฃแแ แแแขแแแแแแชแแแก แแแกแแซแแแแแ, แแฆแแแแแฉแแแ
แแแแแ แแแแแแแ แแแแแ แแแ แแฃแกแแก แแแแแ แกแขแแขแแ. แแแก แแแ แแแแฃแแฌแแแแ แจแแแซแแแแ แแฌแแแแก แแแแแคแแกแขแ, แ แแแแแแช แชแแแแแแก แงแฃแ แแแฆแแแแก แแแฅแชแแแแก SQL แกแขแแแแแ แขแแก แแแฎแแแแแ แแคแกแแขแฃแ แ แแแแ แแชแแแก แจแแกแ แฃแแแแแก แซแแแ, แแแแ แแ แแแแแช แแฅแขแฃแแแฃแ แแ แแแแแแแแ.
แแแแแ แแแขแแ แก แแฎแกแแ-แแแแแแ แขแแแแแ แแ แแแแแแขแแ แแแแ แจแแแแแกแแ. แแ แแแแแฎแกแแแแแ แงแแแแ แแกแแ แแแแแแก, แ แแแแ แช "แแแแฎแแแแแแ". แแแขแ แกแแชแฎแแแแกแแแแก
แแชแแ แ แจแแกแแแแแ
แแคแแฅแ แแ, แแแแ แแ แแชแแก, แ แแแแแแแ แแ แแแแแแฃแ แ แแ แแแแแ แแคแกแแขแฃแ แ แแแแ แแแก แจแแ แฉแแแแกแแแ แแฃแจแแแแ. แแชแแแแ, แ แแ แแก แกแแแแแแ แแแ แขแแแแ แจแแแซแแแแ แจแแแชแแแแแก แฃแคแ แ แแคแแฅแขแฃแ แ แแแแแแแแ?
แแกแ แ แแ, แแคแกแแขแฃแ แ แกแแแแแแซแ แกแแขแงแแ แแฃแแแแแ แแแแแชแแแแ แแแแแก แแแแแขแแแแก แแแ แแแแ n แฉแแแแฌแแ แ แแแแฎแแแแแจแ. แแฃแแชแ, แแแแแชแแแแ แแแแแก แฏแแ แแแแแ แกแญแแ แแแแ แแ แแแ แแแแ n แฉแแแแฌแแ แแก แฌแแแแแฎแแ แแแกแแแแแ, แแแชแแแฃแแ แแแแแแแแแแ แแแแ (แจแแแแจแแแ: แแแแแแงแแแแ แแแฎแแ แแกแฎแแแ, แแฃ แแแแแแแแฃแแแ) แแ แแฎแแแแ แแแแก แจแแแแแ แแฅแแแแ แจแแกแแซแแแแแแ แฉแแแแฌแแ แแแแก แแแแ แฃแแแแ n+1-แแแ. แงแแแแแแ แกแแแแขแแ แแกแ แแก แแ แแก, แ แแ แแ แแแแแแ แแ แ DBMS-แจแ แแแแแ แแขแฃแ แแแแฎแแ แชแแแแแแแจแแ, แแ แแแแ แกแขแแแแแ แขแแก แแแฎแแแแแ แแแแแแแแ แแแ แแแแแแ แขแแแแจแ:
... แกแขแ แแฅแแแแแ แฏแแ แแแแแแแแฃแแแ แแ แจแแแแแ แจแแแแแคแแ แแแแแ แแแแแแแแฃแแ แแฌแแ แแแแแแก แ แแแแแแแแแก แแแแแแแแแ แแแแฆแแแแ...
-SQL:2016, แแแฌแแแ 2, 4.15.3 แแแฆแแแฃแแ แชแฎแ แแแแแ (แจแแแแจแแแ: แแแแแแแ แงแแแแแแ แฎแจแแ แแ แแแแแงแแแแแฃแแ แกแขแแแแแ แขแ)
แแฅ แแแแแแ แ แแก แแ แแก, แ แแ แแคแกแแขแ แแฆแแแก แแ แ แแแ แแแแขแ แก - แฉแแแแฌแแ แแแแก แ แแแแแแแแแก, แ แแแแแแแช แฃแแแ แแแแแขแแแแ แแ แแก แแ แแก แแก. แแ แแแแแแ แขแแแแก แจแแแแแ, DBMS-แก แจแแฃแซแแแ แแฎแแแแ แแฆแแแแแแแก แงแแแแ แฉแแแแฌแแ แ แแ แจแแแแแ แแแแฃแฅแแแก แแ แแกแแญแแ แ แฉแแแแฌแแ แแแ. แชแฎแแแแ, แแคแกแแขแแก แแก แแแแแแ แขแแแ แแแแแซแฃแแแแก แแแแแขแแแแแ แกแแแฃแจแแแก แจแแกแ แฃแแแแแก. แแ แแ แช แแ แแฅแแก แแแแจแแแแแแแ, แแ แแก แแก SQL แแฃ NoSQL.
แชแแขแ แแแขแ แขแแแแแแ
แแคแกแแขแฃแ แ แแ แแแแแแแแ แแแแ แแ แแแแแ แแแแ แแ แแ, แ แแขแแ. แแฃ แแแกแแแแแ แแแแแชแแแแแแก แแ แ แแแแ แแแก แฌแแแแแฎแแแก แจแแ แแก แกแฎแแ แแแแ แแชแแ แฉแแกแแแแก แแฎแแ แฉแแแแฌแแ แก, แ แ แแแฎแแแแ แแ แจแแแแฎแแแแแจแ?
แ แแแแกแแช แแคแกแแขแ แแแแแแงแแแแแ แฌแแแ แแแแ แแแแแแแ แฉแแแแฌแแ แแแแก แแแแแขแแแแแแกแแแแก, แกแฎแแแแแกแฎแแ แแแแ แแแแแก แฌแแแแแฎแแแแก แจแแ แแก แแฎแแแ แฉแแแแฌแแ แแก แแแแแขแแแแก แจแแแแฎแแแแแจแ, แแแแ แแแแแแแแแ แแแแฆแแแ แแฃแแแแแแขแแแก (แจแแแแจแแแ: แแก แจแแกแแซแแแแแแแ, แ แแแแกแแช แแแแแฎแฃแแแแ แแแแ แแ แแแแ แแก แแแแกแขแ แฃแฅแชแแแก แแแฎแแแแแ, แจแแแแแ แฉแแแแ แแแแแแแแแแ แจแฃแ แ แแชแฎแแแแจแ แจแแแซแแแแ แแแแฆแแก แแฎแแแ แฉแแแแฌแแ แ).
แคแแแฃแ แ แแแแแแ แแกแแฎแแแก แแ แกแแขแฃแแชแแแก. แแแแ แแแแฎแฃแแแแก แแแ แแแ 10 แฉแแแแฌแแ แก, แ แแก แจแแแแแแแช แฉแแกแแฃแแแ แแฎแแแ แฉแแแแฌแแ แ, แ แแแแแแช แแแแชแแแแแก แงแแแแ แฌแแแแแฎแฃแ แฉแแแแฌแแ แก 1-แแ. แจแแแแแ แแแแ แแฆแแแก แแฎแแ แแแแ แแก แจแแแแแแ 10 แฉแแแแฌแแ แแแแ แแ แแฌแงแแแ แแ แ แแ-11-แแแ, แ แแแแ แช แฃแแแ, แแ แแแแ แแ-10, แแ แฉแแแแฌแแ แแก แแฃแแแแ แแแ. แแ แกแแแแแก แกแฎแแ แแแแแแแแแแ, แ แแแแแแแช แแแแแแจแแ แแแฃแแแ แแ แแแแแแฅแแแก แแแแแงแแแแแแกแแแ, แแแแ แแ แแก แงแแแแแแ แแแแ แชแแแแแฃแแแ.
แ แแแแ แช แฃแแแ แแแแแ แแแแแ, แแก แแ แแ แแก แแแแแ แแขแฃแแ DBMS-แแก แแ แแแแแแแแ แแ แแแแ แแแแแ แแแ. แแ แแแแแแ แแแแแแแ แแแแก SQL แกแขแแแแแ แขแแก แแแฎแแแแแ แแแแแแแชแแแก แแแแกแแแฆแแ แแจแ. แฉแแแ แแแฃแแแแแแ DBMS-แก, แ แแแแแ แแแแ แแแก แแแแแแแ แแ แ แแแแแแ แฉแแแแฌแแ แแก แแแแแขแแแแแ. แแแแแชแแแแ แแแแแก แฃแแ แแแแ แแ แจแแฃแซแแแ แแกแแแ แแแแฎแแแแแก แแแขแแแแแแชแแ, แ แแแแแ แแแแกแแแแแก แซแแแแแ แชแแขแ แแแคแแ แแแชแแแ.
แแกแแแ แฆแแ แก แแแแก แแแ แแแแแ, แ แแ แแก แแ แแ แแก แแ แแแแแแ แแแแแ แแขแฃแ แกแแแแแแซแ แกแแขแงแแแกแแแ, แแ แแแแ แแแแฎแแแแแก แกแแแแแขแแแแกแแแ. แแ แกแแแแแก แแแแแ แ แแแแแแแแ แกแแแขแแฅแกแ, แ แแแแแแแช แแแแแขแฃแ แแ แแแแ แแ แแแแแแฃแ แ แแฃแแแแแ:
- แแคแกแแขแฃแ แ แกแแแแแแซแ แกแแขแงแแ แแ แแก แ แแแแ แช แแแ แ แแฆแแแแจแแแ.
- แแ แ แกแแแแแแซแ แกแแขแงแแแก แแแแกแขแ แฃแฅแชแแ แแแแแขแ [offset] (แแฃแแชแ แแแแแขแ แแแแแกแแแแแ แแ แช แแกแ แชแฃแแแ).
- แคแแแขแ แแชแแ แฅแแแแ แกแแแฆแแ แแแแ, แแฌแแ แแแแแแก แแฃแแแ แแชแแแก แกแแคแฃแซแแแแแ (แแแแแแแแแ, row_number(), rownum แแ แ.แจ.).
แงแแแแ แแก แแแแแแแแฅแแแแ แฃแแ แแแแ แแแขแงแแแ แ แแแแแแ แฎแแแ แฃแแแ แแแแแขแแแแ, แแแแแขแแแแแ แแแคแแ แแแชแแแก แแ แแแแขแแฅแกแขแแก แแแ แแจแ.
แแแแแแแแแแแ แแ แกแขแแขแแแจแ, แแคแกแแขแฃแ แ แกแแแแแแซแ แกแแขแงแแ แแแแแแงแแแแแ แ แแแแ แช แงแแแแ แแ แแแ แแแแขแแก แจแแฏแแแแแ.
แชแฎแแแ แแแ OFFSET-แแก แแแ แแจแ
แแฎแแ แฌแแ แแแแแแแแแแ, แ แแแแ แ แแฅแแแแแแ แฉแแแแ แกแแแงแแ แ แงแแแแ แแ แแ แแแแแแแก แแแ แแจแ. แแแแแแแก, แ แแ แแคแกแแขแฃแ แ แชแฎแแแ แแแ แแ แช แแกแ แ แแฃแแแ: แกแแแแฅแชแแแ แจแแแแซแแแแ แแแ แฉแแแ แแฎแแแแ แแก แ แแแแแ, แ แแแแแแแช แฏแแ แแ แแแแแแฎแแแก (แจแแแแจแแแ: แแแฃ แแก, แ แแช แฌแแแ แแแแ แแแ แแ แแงแ), แแ แแแ แแแแก แแแแแงแแแแแแ, แกแแแแช.
แแ แจแแแแฎแแแแแจแ, แฉแแแ แแแฌแงแแแ แแฅแแแแ, แ แแ แกแแแแฅแชแแแแ แจแแกแ แฃแแแแฃแแแ แจแแแแแแแ แแแแแแแฅแขแแ (แซแแแแ แแแ แแ แจแแแแแแแ). แแแแแแแแ แฉแแแ แแแแฅแแก แจแแแแแแแแ แแแแ แแแ, แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แกแแแแแแ แแแ แขแแแ แคแแแขแ แ, แ แแ แแแแแฆแแ แแฎแแแแ แแก แแแแแชแแแแแ, แ แแแแแแแช แฌแแแ แแแแ แแแก แแแแ แฉแแแแฌแแ แแก แแแฆแแแ:
SELECT ...
FROM ...
WHERE ...
AND id < ?last_seen_id
ORDER BY id DESC
FETCH FIRST 10 ROWS ONLY
แแก แแ แแก แแ แแแแแแแแก แแแแแ แแ แแแชแแแ. แ แ แแฅแแ แฃแแแ, แงแแแแแคแแ แ แฃแคแ แ แกแแฎแแแแกแ แฎแแแแ แแ แแแแแ แกแแแขแแก แแแฎแแแแแ แแแฎแแ แแกแฎแแแแกแแก, แแแแ แแ แแแแ แแแแแช แแแแแแ. แแแแจแแแแแแแแแแ แแฆแแแแจแแแก, แ แแ แแก แแแแแแแ แแแแแแงแแแแแ แแแแ แแกแแแแก
แแ แแแแแแแแก แฃแฌแแแแแแ แซแแแแแก แแแแแแก แแ แแแแแแจแแ แแแแแแแชแแแก. แแก แแแแแ แแแก แแชแฃแ แแแ แจแแแแแแก แแ แแแแแแแก (แจแแแแจแแแ: แแแ แ แแฆแฌแแ แแแ แแแแ แแแแแก แฌแแแแแฎแแแก แจแแ แแก แฌแแ แแก แกแแขแฃแแชแแ) แแ, แ แ แแฅแแ แฃแแแ, แแก, แ แแช แฉแแแ แงแแแแแก แแแแงแแแ แก, แแฃแจแแแแก แฃแคแ แ แกแฌแ แแคแแ แแ แกแขแแแแแฃแ แแ, แแแแ แ แแแแกแแแฃแ แ แแคแกแแขแ. แกแขแแแแแฃแ แแแ แแแแแแแ แแแแก แแแแจแ, แ แแ แแแแฎแแแแแก แแแแฃแจแแแแแแก แแ แ แแ แแแ แแแแ แแแแฎแแแแแแ แชแฎแ แแแแก แ แแแแแแแแแก แแ แแแแ แชแแฃแแแ (แจแแแแจแแแ: แแฃ แแกแฃแ แ แแแแแแ แแแขแ แแแแแแแชแแแก แกแฎแแแแแกแฎแแ แแแแแแแแแแก แแฃแจแแแแแก แจแแกแแฎแแ, แจแแแแซแแแแ
แแ แ-แแ แแ แกแแแแแ
แ แแช แจแแแฎแแแ แฎแแแกแแฌแงแแแแก?
แแแกแแฆแแแแแแ แแแแแ แแแ แฎแจแแ แแ แแ แแ แแก แจแแกแแคแแ แแกแ แแ แแแแแแแก แแแกแขแ แฃแแแแขแฃแแ แแฎแแ แแแญแแ แแก แแ แแ แกแแแแแแก แแแแ. แแแแแแแแ แแแแก แแแกแขแ แฃแแแแขแแแแก แฃแแแขแแกแแแ, แแแ แจแแ แแก แกแฎแแแแแกแฎแแ แฉแแ แฉแแแแ, แแ แแแซแแแแ แกแแจแฃแแแแแแก แแแ แฉแแแ แแฃแกแขแแ แ แแแแ แจแแกแ แฃแแแแแ แแแแแแแชแแ.
แกแแขแฃแแชแแแก แแแซแแแแแก แแก แคแแฅแขแ, แ แแ แแฆแฌแแ แแแ แแแแแแ แแแแแฎแแแก แแแแแแแ แแฎแแ แแแญแแ แแก แแแแแงแแแแแฃแ แขแแฅแแแแแแแแแจแ - DBMS-แแแ AJAX แแแแฎแแแแแก แจแแกแ แฃแแแแแแแ แแ แแฃแแแ แจแ แแแฃแแแแแแแแ แแแแแฎแแแแแ. แแแแก แแแชแแแแ, แ แแ แแแฃแแแแแ แแฎแแแแ แแแแ แแแก แแแแแ แ, แแฎแแ แแฅแแแ แฃแแแ แแแฃแแแแแ แแแแแแจแแแแก แแแแ แแแ แแ แแแ แแฃแแแ แงแแแแ แแแแ แแแกแแแแก.
แแฃแแชแ, แฉแแ แฉแแแแแก แ แแแแแแแแ, แ แแแแแแแช แแฎแแ แก แฃแญแแ แแ แแแแแแจแแแแ แแแแแแแชแแแก, แแแแแแแแ แแแ แแแแ. แแ แ แ แแแแฅแแก แแ แแแแแแขแจแ:
JOOQ แฏแแแแกแแแแก;แจแแแแแแ_แจแแแแแฎแแ แ แฃแแแกแแแแก;แฉแฃแแฅแแขแแ แ ะธDjango Infinite Scroll Pagination แฏแแแแแกแแแแก;SQL Alchemy sqlakeyset แแแแแแแกแแแแก;แชแแชแฎแแแแแซแแแแแ โ แแ แแขแแ แแฃแแแแแก API JPA แแแแฎแแ แชแแแแแแแกแแแแก;DBIx::แแแแกแ::แจแแคแฃแแแ แแแ แแแกแแแแก;แแแกแแฃแ แ.js , Mapper for Node.jsKeyset แแแแฃแแแแขแแชแแ .
(แจแแแแจแแแ: แแแแแแ แแ แแแฃแแ แฌแแแจแแแ แแแแก แแแแ, แ แแ แแแ แแแแแแก แแ แแก แแแแแแ แแ แแแแแแแแแแ แแ แแงแ แแแแแฎแแแแฃแแ 2017-2018 แฌแแแแจแ. แแแแแขแแ แแกแแแแก แจแแแแฎแแแแแจแ แจแแแแซแแแแ แแฎแแแแ แแ แแแแแแแฃแ แ แฌแงแแ แ.)
แกแฌแแ แแ แแ แแแแแแขแจแแ แกแแญแแ แ แแฅแแแแ แแแฎแแแ แแแ. แแฃ แแฅแแแ แจแแแแฃแจแแแแแ แแ แแฎแแ แก แฃแญแแ แ แฉแแ แฉแแก, แ แแแแแแช แแงแแแแแก แแแแแแแชแแแก, แแแจแแ แแแฎแแแ, แแแแแฌแแแแแ, แฃแแ แฃแแแแแแงแแ แซแแ แแแแแ แแฎแแ แแแญแแ แ แแแกแแฆแแแแแแ แแแแแแแชแแแกแแแแก. แแฃ แแฅแแแ แแแฅแแ แจแแแแแฎแแแแ แแ แแญแแ แแแแแ แแแฎแแแ แแแ, แกแแแแแแแแแแ แแแแแฎแแแ แแแแ (
แแฃ แแงแแแแแ แแแ แแแแแฌแงแแแขแแแแแแแก, แ แแแแแแแช, แแฅแแแแ แแแ แแ, แแแกแแฎแฃแ แแแก แแแแแแจแแแแ แแแแแแแชแแแก แแฎแแ แแแญแแ แแก, แจแแฅแแแแแ แแแแฎแแแแ แแ แแฃแแแแช แจแแกแแแแแแแ แแแ แแแแแฌแงแแแขแ, แแฃ แแก แจแแกแแซแแแแแแแ. แแฅแแแ แแกแแแ แจแแแแซแแแแ แแ แกแขแแขแแแก แแแฃแแ.
แแแกแแแแ
แแแแแแ, แ แแก แแแแแช แแกแแแ แแแ แขแแแ แแ แกแแกแแ แแแแแ แแแแแแแ, แ แแแแ แแชแแ แแแแแแจแแแแ แแแแแแแชแแ, แแ แแ แแก แแแแ แชแแแแแฃแแ, แแ แแ แแก แแก, แ แแ แแแกแ แแแแฎแแ แชแแแแแแ แขแแฅแแแแฃแ แแ แ แแฃแแแ แแ แแแ แซแแแแกแฎแแแแแก แแแแแฎแแแก. แแแแแแ แ แแแแแแ แแกแแ, แ แแ แแแแ แก แกแฉแแแแแ แแคแกแแขแฃแ แแ แงแฃแ แแแ แแ แแฃแจแแแแ โ แแก แแแแแแแ แแแแแ แกแขแแแแแ แขแแ แแ แแก แแแแแ แแแฎแแแ.
แจแแแแแแ, แชแแขแ แแแแแแแแ แคแแฅแ แแแก แแแแแแแชแแแกแแแแ แแแแแแแแก แจแแชแแแแแ แแ แแแแก แแแแ, แฉแแ แฉแแแแแกแ แแ แแแแแแแแแแแแแก แแแกแขแ แฃแแแแขแฃแแ แแฎแแ แแแญแแ แ แชแฃแแแ แแแแแ แแแแ. แแแแขแแ, แแฃ แฃแแคแกแแขแฃแ แ แแแแแแแชแแแก แแแแ แแ แแแแแแ แแฅแแแแแแแก แแฎแแแกแแ, แแแแฎแแแ แแ แแแก แแแแ แชแแแแแแก!
แฌแงแแ แ:
แแแขแแ แ: แแแ แแฃแก แแแแแแ
แฌแงแแ แ: www.habr.com