Changes between Version 1 and Version 2 of Indexing


Ignore:
Timestamp:
08/27/25 00:58:11 (7 days ago)
Author:
221007
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Indexing

    v1 v2  
    2525}}}
    2626
     27=== 2. Ефикасно и ефективно сортирање по created_at за Report
     28Многу важно е сортирањето по датумот кога е креиран некој извештај да биде ефикасно и ефективно исто-времено. За да постигнеме таква состојба, воведуваме индексирање, каде додаваме и соодветен tiebreaker, кој игра улога во случај 2 записи да имаат ист датум на креирањем, тогаш сортирањето се одвива според report_id кое е уникатно во самата табела..
     29
     30{{{
     31-- се креира индекс со име idx_report_created_with_id врз Report табелата кој ги зема во обзир колоните created_at и report_id
     32CREATE INDEX idx_report_created_with_id ON report (created_at, report_id);
     33}}}
     34Ова би овозможило сортирањето да е брзо и ефикасно кога во апликацијата би се ракувало со масовна бројка на Report записи.
     35
     36За тестирање:
     37{{{
     38EXPLAIN (ANALYZE, BUFFERS)
     39SELECT report_id, report_type, person_id, summary
     40FROM report
     41ORDER BY created_at, report_id
     42LIMIT 20;
     43}}}
     44
     45или
     46
     47{{{
     48EXPLAIN (ANALYZE, BUFFERS)
     49SELECT report_id, report_type, person_id, summary
     50FROM report
     51ORDER BY created_at DESC, report_id DESC
     52LIMIT 20;
     53}}}