x
This commit is contained in:
40
db/migration/V010__indexes.sql
Normal file
40
db/migration/V010__indexes.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
-- =============================================================
|
||||
-- V010__indexes.sql
|
||||
-- B-tree indexy pro časté dotazy (plán, telemetrie, ceny, audit, EV, režimy).
|
||||
-- Pozn.: idx_ev_session_active na (charger_id, session_end) je ve V006;
|
||||
-- zde idx_ev_session_site_active doplňuje vyhledávání aktivní session podle site.
|
||||
-- =============================================================
|
||||
|
||||
-- Planning (control exporter hledá aktivní plán pro aktuální slot)
|
||||
CREATE INDEX IF NOT EXISTS idx_planning_run_site_status
|
||||
ON ems.planning_run (site_id, status, created_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_planning_interval_run_start
|
||||
ON ems.planning_interval (run_id, interval_start);
|
||||
|
||||
-- Telemetrie (dashboard čte poslední hodnoty)
|
||||
CREATE INDEX IF NOT EXISTS idx_telemetry_inverter_site_time
|
||||
ON ems.telemetry_inverter (site_id, measured_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_telemetry_ev_site_time
|
||||
ON ems.telemetry_ev_charger (site_id, measured_at DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_telemetry_hp_site_time
|
||||
ON ems.telemetry_heat_pump (site_id, measured_at DESC);
|
||||
|
||||
-- Market prices (forecast + planning čte ceny pro horizont)
|
||||
CREATE INDEX IF NOT EXISTS idx_market_price_source_start
|
||||
ON ems.market_interval_price (market_source, interval_start);
|
||||
|
||||
-- Audit (dashboard čte dnešní data)
|
||||
CREATE INDEX IF NOT EXISTS idx_audit_interval_site_start
|
||||
ON ems.audit_interval (site_id, interval_start DESC);
|
||||
|
||||
-- EV session (control exporter + UI hledá aktivní session podle lokality)
|
||||
CREATE INDEX IF NOT EXISTS idx_ev_session_site_active
|
||||
ON ems.ev_session (site_id, session_end)
|
||||
WHERE session_end IS NULL;
|
||||
|
||||
-- Operating mode log
|
||||
CREATE INDEX IF NOT EXISTS idx_mode_log_site_time
|
||||
ON ems.site_operating_mode_log (site_id, activated_at DESC);
|
||||
Reference in New Issue
Block a user