#1964 repointed landing/supply_layers/special_indices to v_objective_lots_latest, whose DISTINCT ON is an optimization barrier — outer WHERE can't push below it, so the planner full Parallel-Seq-Scans 1.76M rows + external merge sorts (~6-8s) per call. - landing._query_stats: add 1h in-process TTL cache (homepage /landing/stats was uncached; KPI3 full-view-aggregate measured 6.7s/load). Threadpool-aware lock, DB query outside lock, only successful result cached. Mirrors weather_cache. - supply_layers._L1_OPEN_SQL: view->inline DISTINCT ON, stable filters (premise_kind/district) pushed below dedup -> Bitmap on district_class_idx. district-scoped 5.9s->0.45s (~13x). - special_indices._ARTIFICIAL_DEMAND_SQL: view->inline 2-layer CTE; stable filters before dedup, changing filters (is_sold/contract_date/class) AFTER dedup. class has 248 transient physflats -> before-dedup drifted +193 on standard. district-scoped 6.7s->0.57s (~12x), EKB-wide 8.1s->5.5s. Result bit-identical to view, verified on prod across all classes/districts. Uses existing covering / district_class indexes (no migration). |
||
|---|---|---|
| .. | ||
| v1 | ||
| __init__.py | ||