Changes between Version 36 and Version 37 of QueryOptimization


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

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v36 v37  
    2121}}}
    2222
    23 ==== Без индекс
     23==== Без индекс:
    2424
    2525 * '''SELECT'''
     
    6868}}}
    6969
    70 ==== Со индекс
     70==== Со индекс:
    7171
    7272 * '''SELECT'''
     
    119119}}}
    120120
     121==== Без индекс:
     122
     123 * '''SELECT'''
     124
     125{{{
     126
     127EXPLAIN ANALYZE
     128    SELECT * FROM "Venue_Layout" WHERE venue_id = 1;
     129
     130}}}
     131
     132 * '''INSERT'''
     133
     134{{{
     135
     136EXPLAIN ANALYZE
     137    INSERT INTO "Seat" (seat_id, section_id, seat_number)
     138    SELECT COALESCE(MAX(seat_id), 0) + 1, 1, 999999 FROM "Seat";
     139
     140}}}
     141
     142 * '''UPDATE'''
     143
     144{{{
     145
     146EXPLAIN ANALYZE
     147    UPDATE "Seat"
     148    SET seat_number = 888888
     149    WHERE seat_number = 999999;
     150
     151}}}
     152
     153Времето за ажурирање од 312s е неприфатливо за интеракција со мапа на седишта во реално време. Со поставување индекси на seat_number и venue_id, пребарувањето и промената на статусот на седиштата се извршуваат за милисекунди наместо за неколку минути.
     154
    121155==== Оптимизација:
    122156
     
    131165-- index for optimizing search and update operations on specific seat numbers
    132166CREATE INDEX idx_seat_number ON "Seat"(seat_number);
     167
     168}}}
     169
     170==== Со индекс:
     171
     172 * '''SELECT'''
     173
     174{{{
     175
     176EXPLAIN ANALYZE
     177    SELECT * FROM "Venue_Layout" WHERE venue_id = 1;
     178
     179}}}
     180
     181 * '''INSERT'''
     182
     183{{{
     184
     185EXPLAIN ANALYZE
     186    INSERT INTO "Seat" (seat_id, section_id, seat_number)
     187    SELECT COALESCE(MAX(seat_id), 0) + 1, 1, 111222 FROM "Seat";
     188
     189}}}
     190
     191 * '''UPDATE'''
     192
     193{{{
     194
     195EXPLAIN ANALYZE
     196    UPDATE "Seat"
     197    SET seat_number = 333444
     198    WHERE seat_number = 111222;
    133199
    134200}}}