Changes between Version 34 and Version 35 of QueryOptimization


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

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v34 v35  
    2121}}}
    2222
     23 1. Без индекс
     24
     25 * '''SELECT'''
     26
     27{{{
     28
     29EXPLAIN ANALYZE
     30    SELECT * FROM "Performer_Events" WHERE performer_id = 10;
     31
     32}}}
     33
     34 * '''INSERT'''
     35
     36{{{
     37
     38EXPLAIN ANALYZE
     39    INSERT INTO "Event_Happening_Performer" (event_happening_id, performer_id)
     40    VALUES (1, 10);
     41
     42}}}
     43
     44 * '''UPDATE'''
     45
     46{{{
     47
     48EXPLAIN ANALYZE
     49    UPDATE "Event_Happening_Performer"
     50    SET performer_id = 11
     51    WHERE event_happening_id = 1 AND performer_id = 10;
     52
     53}}}
     54
     55Погледот е бавен поради комплексни врски помеѓи четири табели што резултира со време од 3.2s. Индексите на performer_id и event_id го елиминираат целосното скенирање на табелите и овозможуваат инстантно поврзување на изведувачите со нивните настани.
     56
    2357==== Оптимизација:
    2458
     
    3165-- index for optimizing event lookups within scheduled event happenings
    3266CREATE INDEX idx_event_happening_event_id ON "Event_Happening"(event_id);
     67
     68}}}
     69
     70 2. Со индекс
     71
     72 * '''SELECT'''
     73
     74{{{
     75
     76EXPLAIN ANALYZE
     77    SELECT * FROM "Performer_Events" WHERE performer_id = 10;
     78
     79}}}
     80
     81 * '''INSERT'''
     82
     83{{{
     84
     85EXPLAIN ANALYZE
     86    INSERT INTO "Event_Happening_Performer" (event_happening_id, performer_id)
     87    VALUES (2, 10);
     88
     89}}}
     90
     91 * '''UPDATE'''
     92
     93{{{
     94
     95EXPLAIN ANALYZE
     96    UPDATE "Event_Happening_Performer"
     97    SET performer_id = 12
     98    WHERE event_happening_id = 2 AND performer_id = 10;
    3399
    34100}}}