ืœืžื” ืืชื” ืฆืจื™ืš ืชืžื™ื›ื” ืื™ื ืกื˜ืจื•ืžื ื˜ืœื™ืช ืขื‘ื•ืจ ืขื™ืžื•ื“ ืขืœ ืžืงืฉื™ื?

ืฉืœื•ื ืœื›ื•ืœื! ืื ื™ ืžืคืชื— ืขื•ืจืคื™ ื›ื•ืชื‘ ืฉื™ืจื•ืชื™ ืžื™ืงืจื• ื‘-Java + Spring. ืื ื™ ืขื•ื‘ื“ ื‘ืื—ื“ ืžืฆื•ื•ืชื™ ืคื™ืชื•ื— ื”ืžื•ืฆืจ ื”ืคื ื™ืžื™ื™ื ื‘ื˜ื™ื ืงื•ืฃ.

ืœืžื” ืืชื” ืฆืจื™ืš ืชืžื™ื›ื” ืื™ื ืกื˜ืจื•ืžื ื˜ืœื™ืช ืขื‘ื•ืจ ืขื™ืžื•ื“ ืขืœ ืžืงืฉื™ื?

ื‘ืฆื•ื•ืช ืฉืœื ื•, ืขื•ืœื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืฉืืœืช ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืฉืื™ืœืชื•ืช ื‘-DBMS. ืืชื” ืชืžื™ื“ ืจื•ืฆื” ืœื”ื™ื•ืช ืงืฆืช ื™ื•ืชืจ ืžื”ื™ืจ, ืื‘ืœ ืืชื” ืœื ืชืžื™ื“ ื™ื›ื•ืœ ืœื”ืกืชื“ืจ ืขื ืื™ื ื“ืงืกื™ื ืฉื ื‘ื ื• ื‘ืงืคื™ื“ื” - ืืชื” ืฆืจื™ืš ืœื—ืคืฉ ื›ืžื” ื“ืจื›ื™ื ืœืขืงื™ืคืช ื”ื‘ืขื™ื”. ื‘ืžื”ืœืš ืื—ื“ ืžื”ืฉื™ื˜ื•ื˜ื™ื ื”ืืœื” ื‘ืจื—ื‘ื™ ื”ืื™ื ื˜ืจื ื˜ ื‘ื—ื™ืคื•ืฉ ืื—ืจ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืกื‘ื™ืจื•ืช ื‘ืขื‘ื•ื“ื” ืขื ืžืกื“ื™ ื ืชื•ื ื™ื, ืžืฆืืชื™ ื”ื‘ืœื•ื’ ื”ืžื•ืขื™ืœ ื”ืื™ื ืกื•ืคื™ ืฉืœ ืžืจืงื•ืก ื•ื•ื™ื ื ื“, ืžื—ื‘ืจ ืฉืœ SQL Performance Explained. ื–ื”ื• ืกื•ื’ ื ื“ื™ืจ ืฉืœ ื‘ืœื•ื’ ืฉื‘ื• ืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืืช ื›ืœ ื”ืžืืžืจื™ื ื‘ืจืฆืฃ.

ื‘ืจืฆื•ื ื™ ืœืชืจื’ื ืขื‘ื•ืจื›ื ืžืืžืจ ืงืฆืจ ืžืืช ืžืจืงื•ืก. ืืคืฉืจ ืœืงืจื•ื ืœื–ื” ื‘ืžื™ื“ื” ืžืกื•ื™ืžืช ืžื ื™ืคืกื˜ ื”ืžื‘ืงืฉ ืœืžืฉื•ืš ืชืฉื•ืžืช ืœื‘ ืœื‘ืขื™ื” ื”ื™ืฉื ื”, โ€‹โ€‹ืืš ืขื“ื™ื™ืŸ ืจืœื•ื•ื ื˜ื™ืช, ืฉืœ ื‘ื™ืฆื•ืข ืคืขื•ืœืช ื”ืื•ืคืกื˜ ืœืคื™ ืชืงืŸ SQL.

ื‘ืžืงื•ืžื•ืช ืžืกื•ื™ืžื™ื ืื•ืกื™ืฃ ืืช ื”ืžื—ื‘ืจ ื‘ื”ืกื‘ืจื™ื ื•ื”ืขืจื•ืช. ืืชื™ื™ื—ืก ืœื›ืœ ื”ืžืงื•ืžื•ืช ื”ืืœื” ื›"ื‘ืขืจืš". ืœื™ื•ืชืจ ื‘ื”ื™ืจื•ืช

ื”ืงื“ืžื” ืงื˜ื ื”

ืื ื™ ื—ื•ืฉื‘ ืฉืื ืฉื™ื ืจื‘ื™ื ื™ื•ื“ืขื™ื ื›ืžื” ื‘ืขื™ื™ืชื™ืช ื•ืื™ื˜ื™ืช ื”ืขื‘ื•ื“ื” ืขื ื‘ื—ื™ืจืช ืขืžื•ื“ื™ื ื‘ืืžืฆืขื•ืช ืื•ืคืกื˜. ื”ื™ื“ืขืชื ืฉื ื™ืชืŸ ืœื”ื—ืœื™ืฃ ืื•ืชื• ื“ื™ ื‘ืงืœื•ืช ื‘ืขื™ืฆื•ื‘ ื™ืขื™ืœ ื™ื•ืชืจ?

ืื–, ืžื™ืœืช ื”ืžืคืชื— offset ืื•ืžืจืช ืœืžืกื“ ื”ื ืชื•ื ื™ื ืœื“ืœื’ ืขืœ n ื”ืจืฉื•ืžื•ืช ื”ืจืืฉื•ื ื•ืช ื‘ื‘ืงืฉื”. ืขื ื–ืืช, ืžืกื“ ื”ื ืชื•ื ื™ื ืขื“ื™ื™ืŸ ืฆืจื™ืš ืœืงืจื•ื ืืช n ื”ืจืฉื•ืžื•ืช ื”ืจืืฉื•ื ื•ืช ื”ืœืœื• ืžื”ื“ื™ืกืง, ื‘ืกื“ืจ ื”ื ืชื•ืŸ (ืฉื™ืžื• ืœื‘: ื”ื—ืœ ืžื™ื•ืŸ ืื ืฆื•ื™ืŸ), ื•ืจืง ืœืื—ืจ ืžื›ืŸ ื ื™ืชืŸ ื™ื”ื™ื” ืœื”ื—ื–ื™ืจ ืจืฉื•ืžื•ืช ืž-n+1 ื•ืื™ืœืš. ื”ื“ื‘ืจ ื”ืžืขื ื™ื™ืŸ ื‘ื™ื•ืชืจ ื”ื•ื ืฉื”ื‘ืขื™ื” ื”ื™ื ืœื ื‘ื™ื™ืฉื•ื ื”ืกืคืฆื™ืคื™ ื‘-DBMS, ืืœื ื‘ื”ื’ื“ืจื” ื”ืžืงื•ืจื™ืช ืœืคื™ ื”ืชืงืŸ:

...ื”ืฉื•ืจื•ืช ืžืžื•ื™ื ื•ืช ืชื—ื™ืœื” ืœืคื™ ื” ื•ืœืื—ืจ ืžื›ืŸ ื”ื’ื‘ืœื” ืขืœ ื™ื“ื™ ื”ืคืœืช ืžืกืคืจ ื”ืฉื•ืจื•ืช ืฉืฆื•ื™ืŸ ื‘- ืžื”ื”ืชื—ืœื”...
-SQL:2016, ื—ืœืง 2, 4.15.3 ื˜ื‘ืœืื•ืช ื ื’ื–ืจื•ืช (ื”ืขืจื”: ื›ืจื’ืข ื”ืชืงืŸ ื”ื ืคื•ืฅ ื‘ื™ื•ืชืจ)

ื ืงื•ื“ืช ื”ืžืคืชื— ื›ืืŸ ื”ื™ื ืฉื”ืื•ืคืกื˜ ืœื•ืงื— ืคืจืžื˜ืจ ื‘ื•ื“ื“ - ืžืกืคืจ ื”ืจืฉื•ืžื•ืช ืฉืขืœื™ื”ืŸ ืœื“ืœื’, ื•ื–ื”ื•. ื‘ืขืงื‘ื•ืช ื”ื’ื“ืจื” ื–ื•, ื”-DBMS ื™ื›ื•ืœ ืจืง ืœืื—ื–ืจ ืืช ื›ืœ ื”ืจืฉื•ืžื•ืช ื•ืœืื—ืจ ืžื›ืŸ ืœื”ืฉืœื™ืš ืืช ื”ืžื™ื•ืชืจื•ืช. ื‘ืจื•ืจ ืฉื”ื”ื’ื“ืจื” ื”ื–ื• ืฉืœ ืงื™ื–ื•ื– ืžืืœืฆืช ืื•ืชื ื• ืœืขืฉื•ืช ืขื‘ื•ื“ื” ื ื•ืกืคืช. ื•ื–ื” ืืคื™ืœื• ืœื ืžืฉื ื” ืื ื–ื” SQL ืื• NoSQL.

ืจืง ืขื•ื“ ืงืฆืช ื›ืื‘

ื”ื‘ืขื™ื•ืช ื‘ืงื™ื–ื•ื– ืœื ืžืกืชื™ื™ืžื•ืช ืฉื, ื•ื”ื ื” ื”ืกื™ื‘ื”. ืื ื‘ื™ืŸ ืงืจื™ืืช ืฉื ื™ ืขืžื•ื“ื™ ื ืชื•ื ื™ื ืžื”ื“ื™ืกืง, ืคืขื•ืœื” ื ื•ืกืคืช ืชื›ื ื™ืก ืจืฉื•ืžื” ื—ื“ืฉื”, ืžื” ื™ืงืจื” ื‘ืžืงืจื” ื–ื”?

ืœืžื” ืืชื” ืฆืจื™ืš ืชืžื™ื›ื” ืื™ื ืกื˜ืจื•ืžื ื˜ืœื™ืช ืขื‘ื•ืจ ืขื™ืžื•ื“ ืขืœ ืžืงืฉื™ื?

ื›ืืฉืจ ืžืฉืชืžืฉื™ื ื‘-offset ืœื“ื™ืœื•ื’ ืขืœ ืจืฉื•ืžื•ืช ืžื“ืคื™ื ืงื•ื“ืžื™ื, ื‘ืžืฆื‘ ืฉืœ ื”ื•ืกืคืช ืจืฉื•ืžื” ื—ื“ืฉื” ื‘ื™ืŸ ืงืจื™ืื” ืฉืœ ืขืžื•ื“ื™ื ืฉื•ื ื™ื, ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืชืงื‘ืœื• ื›ืคื™ืœื•ื™ื•ืช (ืฉื™ืžื• ืœื‘: ื”ื“ื‘ืจ ืืคืฉืจื™ ื›ืืฉืจ ืื ื• ืงื•ืจืื™ื ืขืžื•ื“ ืื—ืจ ืขืžื•ื“ ื‘ืืžืฆืขื•ืช ื”ืกื“ืจ ืœืคื™ ืžื‘ื ื”, ืื– ื‘ืืžืฆืข ื”ืคืœื˜ ืฉืœื ื• ื”ื•ื ืขืฉื•ื™ ืœืงื‘ืœ ืขืจืš ื—ื“ืฉ).

ื”ืื™ื•ืจ ืžืชืืจ ื‘ื‘ื™ืจื•ืจ ืžืฆื‘ ื–ื”. ื”ื‘ืกื™ืก ืงื•ืจื ืืช 10 ื”ืจืฉื•ืžื•ืช ื”ืจืืฉื•ื ื•ืช, ื•ืœืื—ืจ ืžื›ืŸ ืžื•ื›ื ืก ืจืฉื•ืžื” ื—ื“ืฉื”, ืฉืžืงื–ื– ืืช ื›ืœ ืจืฉื•ืžื•ืช ื”ืงืจื™ืื” ื‘-1. ื•ืื– ื”ื‘ืกื™ืก ืœื•ืงื— ืขืžื•ื“ ื—ื“ืฉ ืž-10 ื”ืจืฉื•ืžื•ืช ื”ื‘ืื•ืช ื•ืžืชื—ื™ืœ ืœื ืžื”-11, ื›ืคื™ ืฉืฆืจื™ืš, ืืœื ืžื”- 10, ืžืฉื›ืคืœ ืืช ื”ืจืฉื•ืžื” ื”ื–ื•. ืงื™ื™ืžื•ืช ื—ืจื™ื’ื•ืช ื ื•ืกืคื•ืช ื”ืงืฉื•ืจื•ืช ืœืฉื™ืžื•ืฉ ื‘ื‘ื™ื˜ื•ื™ ื–ื”, ืืš ื–ื”ื• ื”ื ืคื•ืฅ ื‘ื™ื•ืชืจ.

ื›ืคื™ ืฉื›ื‘ืจ ื’ื™ืœื™ื ื•, ืœื ืžื“ื•ื‘ืจ ื‘ื‘ืขื™ื•ืช ืฉืœ DBMS ืกืคืฆื™ืคื™ ืื• ื‘ื™ื™ืฉื•ืžื™ื ืฉืœื”ื. ื”ื‘ืขื™ื” ื”ื™ื ื‘ื”ื’ื“ืจืช ืขื™ืžื•ื“ ืœืคื™ ืชืงืŸ SQL. ืื ื• ืื•ืžืจื™ื ืœ-DBMS ืื™ื–ื” ืขืžื•ื“ ืœื”ื‘ื™ื ืื• ืขืœ ื›ืžื” ืจืฉื•ืžื•ืช ืœื“ืœื’. ืžืกื“ ื”ื ืชื•ื ื™ื ืคืฉื•ื˜ ืœื ืžืกื•ื’ืœ ืœื™ื™ืขืœ ื‘ืงืฉื” ื›ื–ื•, ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืžืขื˜ ืžื“ื™ ืžื™ื“ืข ืœื›ืš.

ื›ื“ืื™ ื’ื ืœื”ื‘ื”ื™ืจ ืฉืœื ืžื“ื•ื‘ืจ ื‘ื‘ืขื™ื” ื‘ืžื™ืœืช ืžืคืชื— ืกืคืฆื™ืคื™ืช, ืืœื ื‘ืกืžื ื˜ื™ืงื” ืฉืœ ื”ืฉืื™ืœืชื”. ื™ืฉื ื ืขื•ื“ ื›ืžื” ืชื—ื‘ื™ืจื™ื ื–ื”ื™ื ื‘ืื•ืคื™ื™ื ื”ื‘ืขื™ื™ืชื™ ืฉืœื”ื:

  • ืžื™ืœืช ื”ืžืคืชื— ืื•ืคืกื˜ ื”ื™ื ื›ืคื™ ืฉื”ื•ื–ื›ืจ ืงื•ื“ื ืœื›ืŸ.
  • ื‘ื ื™ื™ื” ืฉืœ ืฉืชื™ ืžื™ืœื•ืช ืžืคืชื— ืžื’ื‘ืœื” [ื”ื™ืกื˜] (ืœืžืจื•ืช ืฉื”ื’ื‘ืœื” ืขืฆืžื” ืœื ื›ืœ ื›ืš ื’ืจื•ืขื”).
  • ืกื™ื ื•ืŸ ืœืคื™ ื’ื‘ื•ืœื•ืช ื ืžื•ื›ื™ื, ื‘ื”ืชื‘ืกืก ืขืœ ืžืกืคื•ืจ ืฉื•ืจื•ืช (ืœื“ื•ื’ืžื”, row_number(), rownum ื•ื›ื•').

ื›ืœ ื”ื‘ื™ื˜ื•ื™ื™ื ื”ืืœื” ืคืฉื•ื˜ ืื•ืžืจื™ื ืœืš ืขืœ ื›ืžื” ืฉื•ืจื•ืช ืœื“ืœื’, ืœืœื ืžื™ื“ืข ื ื•ืกืฃ ืื• ื”ืงืฉืจ.

ื‘ื”ืžืฉืš ืžืืžืจ ื–ื”, ืžื™ืœืช ื”ืžืคืชื— offset ืžืฉืžืฉืช ื›ืกื™ื›ื•ื ืฉืœ ื›ืœ ื”ืืคืฉืจื•ื™ื•ืช ื”ืœืœื•.

ื—ื™ื™ื ืœืœื OFFSET

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ืžื™ื™ืŸ ืื™ืš ื”ืขื•ืœื ืฉืœื ื• ื”ื™ื” ื ืจืื” ื‘ืœื™ ื›ืœ ื”ื‘ืขื™ื•ืช ื”ืืœื”. ืžืกืชื‘ืจ ืฉื”ื—ื™ื™ื ืœืœื ืงื™ื–ื•ื– ื”ื ืœื ื›ืœ ื›ืš ืงืฉื™ื: ืขื ื‘ื—ื™ืจื” ืืคืฉืจ ืœื‘ื—ื•ืจ ืจืง ืืช ื”ืฉื•ืจื•ืช ืฉืขื“ื™ื™ืŸ ืœื ืจืื™ื ื• (ืฉื™ืžื• ืœื‘: ื›ืœื•ืžืจ ื›ืืœื• ืฉืœื ื”ื™ื• ื‘ืขืžื•ื“ ื”ืงื•ื“ื), ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืชื ืื™ ืื™ืคื”.

ื‘ืžืงืจื” ื–ื”, ืื ื• ืžืชื—ื™ืœื™ื ืžื”ืขื•ื‘ื“ื” ืฉื”ื‘ื—ื™ืจื•ืช ืžื‘ื•ืฆืขื•ืช ืขืœ ืกื˜ ืžืกื•ื“ืจ (ืกื“ืจ ื™ืฉืŸ ื•ื˜ื•ื‘ ืขืœ ื™ื“ื™). ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื ื• ืกื˜ ืžืกื•ื“ืจ, ืื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ืžืกื ืŸ ืคืฉื•ื˜ ืœืžื“ื™ ื›ื“ื™ ืœืงื‘ืœ ืจืง ืืช ื”ื ืชื•ื ื™ื ืฉื ืžืฆืื™ื ืžืื—ื•ืจื™ ื”ืจืฉื•ืžื” ื”ืื—ืจื•ื ื” ืฉืœ ื”ืขืžื•ื“ ื”ืงื•ื“ื:

    SELECT ...
    FROM ...
    WHERE ...
    AND id < ?last_seen_id
    ORDER BY id DESC
    FETCH FIRST 10 ROWS ONLY

ื–ื” ื›ืœ ื”ืขื™ืงืจื•ืŸ ืฉืœ ื”ื’ื™ืฉื” ื”ื–ื•. ื›ืžื•ื‘ืŸ, ื”ื“ื‘ืจื™ื ื ืขืฉื™ื ื™ื•ืชืจ ื›ื™ืฃ ื›ืืฉืจ ืžื™ื•ืŸ ืœืคื™ ืขืžื•ื“ื•ืช ืจื‘ื•ืช, ืื‘ืœ ื”ืจืขื™ื•ืŸ ืขื“ื™ื™ืŸ ื–ื”ื”. ื—ืฉื•ื‘ ืœืฆื™ื™ืŸ ืฉืขื™ืฆื•ื‘ ื–ื” ื™ืฉื™ื ืœืจื‘ื™ื NoSQL-ื”ื—ืœื˜ื•ืช.

ื’ื™ืฉื” ื–ื• ื ืงืจืืช ืฉื™ื˜ืช ื—ื™ืคื•ืฉ ืื• ืขื™ืžื•ื“ ืขืจื›ืช ืžืคืชื—ื•ืช. ื–ื” ืคื•ืชืจ ืืช ื‘ืขื™ื™ืช ื”ืชื•ืฆืื” ื”ืฆืคื” (ืฉื™ืžื• ืœื‘: ื”ืžืฆื‘ ืขื ื›ืชื™ื‘ื” ื‘ื™ืŸ ืงืจื™ืืช ืขืžื•ื“ื™ื, ืฉืชื•ืืจ ืงื•ื“ื ืœื›ืŸ) ื•ื›ืžื•ื‘ืŸ, ืžื” ืฉื›ื•ืœื ื• ืื•ื”ื‘ื™ื, ื–ื” ืขื•ื‘ื“ ืžื”ืจ ื•ื™ืฆื™ื‘ ื™ื•ืชืจ ืžื”ืื•ืคืกื˜ ื”ืงืœืืกื™. ื”ื™ืฆื™ื‘ื•ืช ื˜ืžื•ื ื” ื‘ืขื•ื‘ื“ื” ืฉื–ืžืŸ ืขื™ื‘ื•ื“ ื”ื‘ืงืฉื•ืช ืื™ื ื• ื’ื“ืœ ื‘ื™ื—ืก ืœืžืกืคืจ ื”ื˜ื‘ืœื” ื”ืžื‘ื•ืงืฉืช (ื”ืขืจื”: ืื ื‘ืจืฆื•ื ื›ื ืœืœืžื•ื“ ืขื•ื“ ืขืœ ืขื‘ื•ื“ืชืŸ ืฉืœ ื’ื™ืฉื•ืช ืฉื•ื ื•ืช ืœืขื™ืžื•ื“, ืชื•ื›ืœื• ืขื™ื™ืŸ ื‘ืžืฆื’ืช ืฉืœ ื”ืžื—ื‘ืจ. ืืชื” ื™ื›ื•ืœ ื’ื ืœืžืฆื•ื ืฉื ืžื“ื“ื™ื ื”ืฉื•ื•ืืชื™ื™ื ืœืฉื™ื˜ื•ืช ืฉื•ื ื•ืช).

ืื—ืช ื”ืžื’ืœืฉื•ืช ืžื“ื‘ืจ ืขืœ ื–ื”ืฉืขื™ืžื•ื“ ืœืคื™ ืžืคืชื—ื•ืช, ื›ืžื•ื‘ืŸ, ืื™ื ื• ื›ืœ ื™ื›ื•ืœ - ื™ืฉ ืœื• ืžื’ื‘ืœื•ืช. ื”ืžืฉืžืขื•ืชื™ ื‘ื™ื•ืชืจ ื”ื•ื ืฉืื™ืŸ ืœื” ืืช ื”ื™ื›ื•ืœืช ืœืงืจื•ื ื“ืคื™ื ืืงืจืื™ื™ื (ืฉื™ืžื• ืœื‘: ื‘ืื•ืคืŸ ืœื ืขืงื‘ื™). ืขื ื–ืืช, ื‘ืขื™ื“ืŸ ืฉืœ ื’ืœื™ืœื” ืื™ื ืกื•ืคื™ืช (ืฉื™ืžื• ืœื‘: ื‘ื—ืœืง ื”ืงื“ืžื™), ื–ื• ืœื ื‘ืขื™ื” ื›ื–ื•. ืฆื™ื•ืŸ ืžืกืคืจ ืขืžื•ื“ ืœืœื—ื™ืฆื” ื”ื™ื ื”ื—ืœื˜ื” ื’ืจื•ืขื” ื‘ื›ืœ ืžืงืจื” ื‘ืขื™ืฆื•ื‘ ืžืžืฉืง ื”ืžืฉืชืžืฉ (ื”ืขืจื”: ื—ื•ื•ืช ื“ืขืช ืฉืœ ื›ื•ืชื‘ ื”ืžืืžืจ).

ืžื” ืขื ื”ื›ืœื™ื?

ืขื™ืžื•ื“ ืขืœ ืžืงืฉื™ื ืœืจื•ื‘ ืื™ื ื• ืžืชืื™ื ื‘ื’ืœืœ ื”ื™ืขื“ืจ ืชืžื™ื›ื” ืื™ื ืกื˜ืจื•ืžื ื˜ืœื™ืช ื‘ืฉื™ื˜ื” ื–ื•. ืจื•ื‘ ื›ืœื™ ื”ืคื™ืชื•ื—, ืœืจื‘ื•ืช ืžืกื’ืจื•ืช ืฉื•ื ื•ืช, ืœื ืžืืคืฉืจื™ื ืœื‘ื—ื•ืจ ืื™ืš ื‘ื“ื™ื•ืง ื™ืชื‘ืฆืข ื”ืขื™ืžื•ื“.

ื”ืžืฆื‘ ืžื—ืžื™ืจ ืœื ื•ื›ื— ื”ืขื•ื‘ื“ื” ืฉื”ืฉื™ื˜ื” ื”ืžืชื•ืืจืช ื“ื•ืจืฉืช ืชืžื™ื›ื” ืžืงืฆื” ืœืงืฆื” ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื‘ื”ืŸ ื ืขืฉื” ืฉื™ืžื•ืฉ - ืžื”-DBMS ื•ืขื“ ืœื‘ื™ืฆื•ืข ื‘ืงืฉืช AJAX ื‘ื“ืคื“ืคืŸ ืขื ื’ืœื™ืœื” ืื™ื ืกื•ืคื™ืช. ื‘ืžืงื•ื ืœืฆื™ื™ืŸ ืจืง ืืช ืžืกืคืจ ื”ืขืžื•ื“, ื›ืขืช ืขืœื™ืš ืœืฆื™ื™ืŸ ืงื‘ื•ืฆืช ืžืคืชื—ื•ืช ืขื‘ื•ืจ ื›ืœ ื”ืขืžื•ื“ื™ื ื‘ื‘ืช ืื—ืช.

ืขื ื–ืืช, ืžืกืคืจ ื”ืžืกื’ืจื•ืช ื”ืชื•ืžื›ื•ืช ื‘ืขื™ืžื•ื“ ื‘ืžืคืชื—ื•ืช ื”ื•ืœืš ื•ื’ื“ืœ ื‘ื”ื“ืจื’ื”. ื”ื ื” ืžื” ืฉื™ืฉ ืœื ื• ื›ืจื’ืข:

(ื”ืขืจื”: ื—ืœืง ืžื”ืงื™ืฉื•ืจื™ื ื”ื•ืกืจื• ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉื‘ื–ืžืŸ ื”ืชืจื’ื•ื ื—ืœืง ืžื”ืกืคืจื™ื•ืช ืœื ืขื•ื“ื›ื ื• ืžืื– 2017-2018. ืื ืืชื” ืžืขื•ื ื™ื™ืŸ, ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื›ืœ ื‘ืžืงื•ืจ ื”ืžืงื•ืจื™.)

ื‘ืจื’ืข ื–ื” ื™ืฉ ืฆื•ืจืš ื‘ืขื–ืจืชื›ื. ืื ืืชื” ืžืคืชื— ืื• ืชื•ืžืš ื‘ืžืกื’ืจืช ืฉืขื•ืฉื” ืฉื™ืžื•ืฉ ื›ืœืฉื”ื• ื‘ืขื™ืžื•ื“, ืื– ืื ื™ ืžื‘ืงืฉ, ืื ื™ ืžืคืฆื™ืจ, ืื ื™ ืžืคืฆื™ืจ ื‘ื›ื ืœืกืคืง ืชืžื™ื›ื” ืžืงื•ืจื™ืช ืœืขื™ืžื•ื“ ืขืœ ืžืงืฉื™ื. ืื ื™ืฉ ืœืš ืฉืืœื•ืช ืื• ืฉืืชื” ืฆืจื™ืš ืขื–ืจื”, ืื ื™ ืืฉืžื— ืœืขื–ื•ืจ (ั„ะพั€ัƒะผ, ื˜ื•ื™ื˜ืจ, ื˜ื•ืคืก ื™ืฆื™ืจืช ืงืฉืจ) (ื”ืขืจื”: ืžื ื™ืกื™ื•ื ื™ ืขื ืžืจืงื•ืก, ืื ื™ ื™ื›ื•ืœ ืœื•ืžืจ ืฉื”ื•ื ืžืžืฉ ืžืชืœื”ื‘ ืžื”ืคืฆืช ื”ื ื•ืฉื ื”ื–ื”).

ืื ืืชื ืžืฉืชืžืฉื™ื ื‘ืคืชืจื•ื ื•ืช ืžื•ื›ื ื™ื ืฉืœื“ืขืชื›ื ืจืื•ื™ื™ื ืœืงื‘ืœ ืชืžื™ื›ื” ื‘ืขื™ืžื•ื“ ืœืคื™ ืžืคืชื—ื•ืช, ืฆืจื• ื‘ืงืฉื” ืื• ืืคื™ืœื• ื”ืฆื™ืขื• ืคืชืจื•ืŸ ืžื•ื›ืŸ, ื‘ืžื™ื“ืช ื”ืืคืฉืจ. ืืชื” ื™ื›ื•ืœ ื’ื ืงื™ืฉื•ืจ ืœืžืืžืจ ื–ื”.

ืžืกืงื ื”

ื”ืกื™ื‘ื” ืœื›ืš ืฉื’ื™ืฉื” ื›ื” ืคืฉื•ื˜ื” ื•ืฉื™ืžื•ืฉื™ืช ื›ืžื• ืขื™ืžื•ื“ ืœืคื™ ืžืคืชื—ื•ืช ืื™ื ื” ื ืคื•ืฆื” ื”ื™ื ืœื ืฉื”ื™ื ืงืฉื” ืœื™ื™ืฉื•ื ื˜ื›ื ื™ืช ืื• ื“ื•ืจืฉืช ืžืืžืฅ ืจื‘. ื”ืกื™ื‘ื” ื”ืขื™ืงืจื™ืช ื”ื™ื ืฉืจื‘ื™ื ืจื’ื™ืœื™ื ืœืจืื•ืช ื•ืœืขื‘ื•ื“ ืขื ืื•ืคืกื˜ โ€“ ื’ื™ืฉื” ื–ื• ืžื•ื›ืชื‘ืช ืขืœ ื™ื“ื™ ื”ืชืงืŸ ืขืฆืžื•.

ื›ืชื•ืฆืื” ืžื›ืš, ืžืขื˜ ืื ืฉื™ื ื—ื•ืฉื‘ื™ื ืขืœ ืฉื™ื ื•ื™ ื”ื’ื™ืฉื” ืœืขื™ืžื•ื“, ื•ื‘ืฉืœ ื›ืš, ืชืžื™ื›ื” ืื™ื ืกื˜ืจื•ืžื ื˜ืœื™ืช ืžืžืกื’ืจื•ืช ื•ืกืคืจื™ื•ืช ืžืชืคืชื—ืช ื‘ืฆื•ืจื” ื’ืจื•ืขื”. ืœื›ืŸ, ืื ื”ืจืขื™ื•ืŸ ื•ื”ืžื˜ืจื” ืฉืœ ืขื™ืžื•ื“ ืœืœื ืงื™ื–ื•ื– ืงืจื•ื‘ื™ื ืืœื™ื›ื, ืขื–ืจื• ืœื”ืคื™ืฅ ืื•ืชื•!

ืžืงื•ืจ: https://use-the-index-luke.com/no-offset
ืžื—ื‘ืจ: ืžืจืงื•ืก ื•ื•ื™ื ื ื“

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”