Changes between Version 5 and Version 6 of QueryOptimization
- Timestamp:
- 06/07/26 23:50:27 (3 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
QueryOptimization
v5 v6 35 35 36 36 ЧЕКОР 2: Додавање индекс 37 38 Овој индекс се додава затоа што филтерот во view-то е базиран на user_id. Без индекс, PostgreSQL прави sequential scan на целата табела portfolios, што е неефикасно. 39 40 37 41 {{{ 38 42 CREATE INDEX idx_portfolios_user_id … … 48 52 Seq Scan on portfolios p 49 53 Filter: (user_id = 5), idx_portfolios_user_id го решава ова, го заменува со Index Scan. 54 50 55 51 56 … … 111 116 читање на ~2M редови 112 117 118 Овој query филтрира по: 119 user_id 120 и временски интервал (timestamp >= NOW() - 30 days) 121 Комбинираниот индекс (user_id, timestamp) е најважен бидејќи овозможува range filtering после селекција на user. 122 123 113 124 ЧЕКОР 2: Додавање индекси 114 125 {{{ … … 192 203 193 204 194 195 205 {{{ 196 206 CREATE INDEX idx_stock_history_stock_id … … 229 239 При анализа на stock_history_detail_view се користи филтрирање по stock_id и временски опсег. Првичниот план покажува sequential scan над голема количина податоци. Со додавање на индекс над stock_id и composite индекс (stock_id, timestamp) се оптимизира пристапот за time-series податоци, што е критично за приказ на графикони и историски цени. 230 240 231 241 Индексите се дизајнирани за time-series пристап, каде податоците се филтрираат по stock_id и временски опсег, што овозможува брзо читање на историски податоци за графици и анализи. 242 243
