-- =========================================================================
-- MIGRATION: Indeks Prestasi untuk Pelaporan Skala Besar
-- Jalankan di phpMyAdmin > tab SQL, pada database SPMS sedia ada anda.
--
-- KENAPA PERLU: financial_records/hr_records ada UNIQUE KEY yang mula
-- dengan subsidiary_id — sesuai untuk query SATU syarikat, tapi halaman
-- Group (Dashboard, Overall Performance, Division Analysis) query
-- MERENTASI SEMUA syarikat (fiscal_year+quarter+period_type sahaja,
-- tiada subsidiary_id dalam WHERE) — corak ini TAK guna indeks sedia
-- ada dengan cekap. Pada skala 32-38 syarikat sekarang, kesan belum
-- ketara — tapi bila data bertahun-tahun + bulanan terkumpul (ratusan
-- ribu baris), query Group boleh jadi perlahan tanpa indeks ini.
--
-- Turut tambah indeks pada subsidiaries.sector/cluster/is_active —
-- digunakan dalam WHERE di HAMPIR SETIAP halaman laporan, tapi tiada
-- indeks langsung sebelum ini.
--
-- Selamat dijalankan — tak ubah data sedia ada, cuma tambah indeks.
-- =========================================================================

ALTER TABLE financial_records
    ADD INDEX idx_group_lookup (period_type, fiscal_year, quarter, month, value_type);

ALTER TABLE hr_records
    ADD INDEX idx_group_lookup (fiscal_year, quarter);

ALTER TABLE subsidiaries
    ADD INDEX idx_sector (sector),
    ADD INDEX idx_cluster (cluster),
    ADD INDEX idx_active (is_active);

ALTER TABLE kpi_scorecard_items
    ADD INDEX idx_fiscal_year (fiscal_year);

ALTER TABLE business_plan_targets
    ADD INDEX idx_fiscal_year (fiscal_year);
