| | 437 | ==== Без индекс: |
| | 438 | |
| | 439 | * '''SELECT''' |
| | 440 | |
| | 441 | {{{ |
| | 442 | |
| | 443 | EXPLAIN ANALYZE |
| | 444 | SELECT * FROM "Event_Overall_Ratings" WHERE event_id = 1; |
| | 445 | |
| | 446 | }}} |
| | 447 | |
| | 448 | * '''INSERT''' |
| | 449 | |
| | 450 | {{{ |
| | 451 | |
| | 452 | EXPLAIN ANALYZE |
| | 453 | INSERT INTO "Event_Happening_Rating" (rating_id, event_happening_id, user_id, rating, comment) |
| | 454 | SELECT COALESCE(MAX(rating_id), 0) + 1, 1, 15, 9, 'Test rating' |
| | 455 | FROM "Event_Happening_Rating"; |
| | 456 | |
| | 457 | }}} |
| | 458 | |
| | 459 | * '''UPDATE''' |
| | 460 | |
| | 461 | {{{ |
| | 462 | |
| | 463 | EXPLAIN ANALYZE |
| | 464 | UPDATE "Event_Happening_Rating" |
| | 465 | SET rating = 8, comment = 'New test rating' |
| | 466 | WHERE event_happening_id = 1 AND user_id = 15; |
| | 467 | |
| | 468 | }}} |
| | 469 | |
| | 470 | Пресметката на просечни оценки бара постојано агрегирање на податоци, што е бавно при секој нов приказ. Композитен индекс на (event_happening_id, rating) овозможува математичките операции да се вршат директно врз индексот, забрзувајќи го приказот на почетната страна. |
| | 471 | |
| | 478 | |
| | 479 | }}} |
| | 480 | |
| | 481 | ==== Со индекс: |
| | 482 | |
| | 483 | * '''SELECT''' |
| | 484 | |
| | 485 | {{{ |
| | 486 | |
| | 487 | EXPLAIN ANALYZE |
| | 488 | SELECT * FROM "Event_Overall_Ratings" WHERE event_id = 1; |
| | 489 | |
| | 490 | }}} |
| | 491 | |
| | 492 | * '''INSERT''' |
| | 493 | |
| | 494 | {{{ |
| | 495 | |
| | 496 | EXPLAIN ANALYZE |
| | 497 | INSERT INTO "Event_Happening_Rating" (rating_id, event_happening_id, user_id, rating, comment) |
| | 498 | SELECT COALESCE(MAX(rating_id), 0) + 1, 1, 20, 7, 'Test rating' |
| | 499 | FROM "Event_Happening_Rating"; |
| | 500 | |
| | 501 | }}} |
| | 502 | |
| | 503 | * '''UPDATE''' |
| | 504 | |
| | 505 | {{{ |
| | 506 | |
| | 507 | EXPLAIN ANALYZE |
| | 508 | UPDATE "Event_Happening_Rating" |
| | 509 | SET rating = 8, comment = 'New test rating' |
| | 510 | WHERE event_happening_id = 1 AND user_id = 15; |