Changes between Version 37 and Version 38 of QueryOptimization


Ignore:
Timestamp:
05/09/26 21:11:32 (2 weeks ago)
Author:
231027
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v37 v38  
    225225}}}
    226226
     227==== Без индекс:
     228
     229 * '''SELECT'''
     230
     231{{{
     232
     233EXPLAIN ANALYZE
     234    SELECT * FROM "User_Tickets" WHERE user_id = 1;
     235
     236}}}
     237
     238 * '''INSERT'''
     239
     240{{{
     241
     242EXPLAIN ANALYZE
     243    INSERT INTO "Ticket_Purchase" (purchase_id, ticket_id, user_id, qr_code, purchase_amount)
     244    SELECT COALESCE(MAX(purchase_id), 0) + 1, 1, 1, 'QR-TEST-CODE-001', 1200.00
     245    FROM "Ticket_Purchase";
     246
     247}}}
     248
     249 * '''UPDATE'''
     250
     251{{{
     252
     253EXPLAIN ANALYZE
     254    UPDATE "Ticket_Purchase"
     255    SET purchase_amount = 1500.00
     256    WHERE user_id = 1 AND qr_code = 'QR-TEST-CODE-001';
     257
     258}}}
     259
     260Приказот на историјата на билети трае предолги 251.9s, што го блокира корисничкиот профил. Индексот на user_id овозможува базата веднаш да ги лоцира билетите на конкретниот корисник без да ги пребарува сите трансакции во системот.
     261
    227262==== Оптимизација:
    228263
     
    240275-- index for optimizing event lookups within scheduled event happenings
    241276CREATE INDEX idx_event_happening_event_id ON "Event_Happening"(event_id);
     277
     278}}}
     279
     280==== Со индекс:
     281
     282 * '''SELECT'''
     283
     284{{{
     285
     286EXPLAIN ANALYZE
     287    SELECT * FROM "User_Tickets" WHERE user_id = 1;
     288
     289}}}
     290
     291 * '''INSERT'''
     292
     293{{{
     294
     295EXPLAIN ANALYZE
     296    INSERT INTO "Ticket_Purchase" (purchase_id, ticket_id, user_id, qr_code, purchase_amount)
     297    SELECT COALESCE(MAX(purchase_id), 0) + 1, 1, 1, 'QR-TEST-CODE-002', 1200.00
     298    FROM "Ticket_Purchase";
     299
     300}}}
     301
     302 * '''UPDATE'''
     303
     304{{{
     305
     306EXPLAIN ANALYZE
     307    UPDATE "Ticket_Purchase"
     308    SET purchase_amount = 1350.00
     309    WHERE user_id = 1 AND qr_code = 'QR-TEST-CODE-002';
    242310
    243311}}}