-- Migration: Índices para Dashboard API
-- Data: 2026-02-19
-- Melhora performance das consultas agregadas por dia_efetivo e concluido_em

BEGIN;

-- 1. Índice em dia_efetivo na tabela de missões (filtro principal de todas as queries do dashboard)
CREATE INDEX IF NOT EXISTS idx_missao_dia_efetivo ON missao_logistica (dia_efetivo);

-- 2. Índice em concluido_em (DATE) para ranking de operadores e tendências
CREATE INDEX IF NOT EXISTS idx_itens_concluido_em_date ON missao_logistica_itens (DATE(concluido_em));

-- 3. Índice composto para consultas de itens por missão + status (usado no progresso)
CREATE INDEX IF NOT EXISTS idx_itens_missao_status ON missao_logistica_itens (missao_logistica_id, status);

-- 4. Índice para consultas de extrato por data (timeline)
CREATE INDEX IF NOT EXISTS idx_extrato_data_cadastro ON missao_logistica_extrato (data_cadastro DESC);

-- 5. Índice para consultas de solicitações pendentes
CREATE INDEX IF NOT EXISTS idx_solicitacao_missao_status ON missao_logistica_solicitacao (missao_logistica_id, status);

COMMIT;
