-- =====================================================
-- Optimización de Índices para Página de Pagos
-- Fecha: 2026-02-14
-- Propósito: Mejorar rendimiento de consultas en payments
-- =====================================================

-- Índice compuesto para búsquedas por año y mes
-- Mejora: SELECT ... WHERE year = ? AND month = ?
-- Si el índice ya existe, este comando generará un warning pero continuará
CREATE INDEX idx_payments_year_month ON payments(year, month);

-- Índice compuesto para búsquedas por casa y año  
-- Mejora: SELECT ... WHERE house_id = ? AND year = ?
CREATE INDEX idx_payments_house_year ON payments(house_id, year);

-- Índice para ordenamiento de casas por número
-- Mejora: ORDER BY CAST(number AS UNSIGNED)
CREATE INDEX idx_houses_number ON houses(number);

-- Verificar índices creados
SELECT 'Índices de payments:' as 'Tabla';
SHOW INDEX FROM payments WHERE Key_name LIKE 'idx_payments%';

SELECT 'Índices de houses:' as 'Tabla';
SHOW INDEX FROM houses WHERE Key_name LIKE 'idx_houses%';
