| | 227 | ==== Без индекс: |
| | 228 | |
| | 229 | * '''SELECT''' |
| | 230 | |
| | 231 | {{{ |
| | 232 | |
| | 233 | EXPLAIN ANALYZE |
| | 234 | SELECT * FROM "User_Tickets" WHERE user_id = 1; |
| | 235 | |
| | 236 | }}} |
| | 237 | |
| | 238 | * '''INSERT''' |
| | 239 | |
| | 240 | {{{ |
| | 241 | |
| | 242 | EXPLAIN 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 | |
| | 253 | EXPLAIN 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 | |
| | 277 | |
| | 278 | }}} |
| | 279 | |
| | 280 | ==== Со индекс: |
| | 281 | |
| | 282 | * '''SELECT''' |
| | 283 | |
| | 284 | {{{ |
| | 285 | |
| | 286 | EXPLAIN ANALYZE |
| | 287 | SELECT * FROM "User_Tickets" WHERE user_id = 1; |
| | 288 | |
| | 289 | }}} |
| | 290 | |
| | 291 | * '''INSERT''' |
| | 292 | |
| | 293 | {{{ |
| | 294 | |
| | 295 | EXPLAIN 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 | |
| | 306 | EXPLAIN ANALYZE |
| | 307 | UPDATE "Ticket_Purchase" |
| | 308 | SET purchase_amount = 1350.00 |
| | 309 | WHERE user_id = 1 AND qr_code = 'QR-TEST-CODE-002'; |