| | 680 | |
| | 681 | ==== 4. Дали индексот навистина се користи во планот за извршување? ==== |
| | 682 | |
| | 683 | Да. Од двата предложени индекси: |
| | 684 | |
| | 685 | * idx_sale_recent_dates: '''ДА''', искористен е. Планот експлицитно |
| | 686 | покажува Bitmap Index Scan on idx_sale_recent_dates за филтрирање |
| | 687 | на продажбите во последните 60 дена, наместо претходниот Seq Scan |
| | 688 | со Rows Removed by Filter: 30186. |
| | 689 | |
| | 690 | * idx_wh_stock_cover: '''НЕ''', не е искористен. CTE-то current_stock |
| | 691 | врши агрегација (SUM) на сите редови во warehouse_stock, па |
| | 692 | PostgreSQL продолжува со Seq Scan идентична ситуација со |
| | 693 | Сценарио 1. |
| | 694 | |
| | 695 | ==== 5. Заклучок за перформансите ==== |
| | 696 | |
| | 697 | Времето на извршување се намали од ~747 ms на ~191 ms (подобрување |
| | 698 | од ~74%, односно ~4×). Целокупното подобрување доаѓа исклучително |
| | 699 | од idx_sale_recent_dates кој го елиминира скенирањето на историските |
| | 700 | продажби (постари од 60 дена). idx_wh_stock_cover нема ефект бидејќи |
| | 701 | агрегацијата на warehouse_stock бара читање на 100% од редовите. |