Changes between Version 36 and Version 37 of QueryOptimization
- Timestamp:
- 05/09/26 21:08:42 (2 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
QueryOptimization
v36 v37 21 21 }}} 22 22 23 ==== Без индекс 23 ==== Без индекс: 24 24 25 25 * '''SELECT''' … … 68 68 }}} 69 69 70 ==== Со индекс 70 ==== Со индекс: 71 71 72 72 * '''SELECT''' … … 119 119 }}} 120 120 121 ==== Без индекс: 122 123 * '''SELECT''' 124 125 {{{ 126 127 EXPLAIN ANALYZE 128 SELECT * FROM "Venue_Layout" WHERE venue_id = 1; 129 130 }}} 131 132 * '''INSERT''' 133 134 {{{ 135 136 EXPLAIN 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 146 EXPLAIN ANALYZE 147 UPDATE "Seat" 148 SET seat_number = 888888 149 WHERE seat_number = 999999; 150 151 }}} 152 153 Времето за ажурирање од 312s е неприфатливо за интеракција со мапа на седишта во реално време. Со поставување индекси на seat_number и venue_id, пребарувањето и промената на статусот на седиштата се извршуваат за милисекунди наместо за неколку минути. 154 121 155 ==== Оптимизација: 122 156 … … 131 165 -- index for optimizing search and update operations on specific seat numbers 132 166 CREATE INDEX idx_seat_number ON "Seat"(seat_number); 167 168 }}} 169 170 ==== Со индекс: 171 172 * '''SELECT''' 173 174 {{{ 175 176 EXPLAIN ANALYZE 177 SELECT * FROM "Venue_Layout" WHERE venue_id = 1; 178 179 }}} 180 181 * '''INSERT''' 182 183 {{{ 184 185 EXPLAIN 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 195 EXPLAIN ANALYZE 196 UPDATE "Seat" 197 SET seat_number = 333444 198 WHERE seat_number = 111222; 133 199 134 200 }}}
