Sumber: ClickUp task SYS-1970 — Performance Issue on CMS (status: in progress development). Daftar 12 child task, dikelompokkan by Database vs Backend, di-sort by impact. Will merge into broader CMS docs over time.
-
SYS-2022 — Fix row multiplication from 1:N LEFT JOINs in cover letter queries — High
- Satu cover letter punya banyak data terkait (catatan, runner, dll). Query saat ini bikin satu cover letter muncul berkali-kali (sebanyak data terkaitnya), jadi sistem narik data 10x lipat dari yang dibutuhin. Perbaiki query supaya tiap cover letter cuma muncul sekali. Vault backlog: [[Projects/anabatic-contract-management-system/backlog/p1-sys-2022-cover-letter-join-cardinality]].
-
SYS-2027 — Slim trackingCovlet list query (avoid full getMany + heavy joins) — High
- Halaman tracking minta semua kolom + semua tabel terkait ke database padahal cuma buat nampilin list ringkas. Minta cuma kolom yang beneran ditampilin di layar.
-
SYS-2025 — Replace non-sargable dateRangeBit predicates with index-friendly ranges — Normal
- Filter tanggalnya ditulis dengan cara yang gak bisa di-optimize sama database — jadi database harus scan semua baris buat cek tanggal. Tulis ulang jadi format "antara tanggal X dan Y" supaya database bisa langsung loncat ke baris yang cocok pakai index-nya.
-
SYS-2029 — Refactor non-sargable scan-heavy filters (TO_CHAR/CASE/LOWER+LIKE) — Normal
- Filter kayak "convert tanggal jadi teks dulu baru dibandingin" atau "lowercase semua dulu baru di-search" maksa database baca semua baris. Tulis ulang supaya database bisa pakai shortcut-nya (index).
-
SYS-2023 — Add pagination/streaming for unbounded cover-letter reads and exports — High
- Beberapa halaman dan export Excel narik semua cover letter sekaligus. Kalau datanya ribuan, server-nya nge-hang. Batasi per halaman, atau alirkan datanya bertahap (streaming).
-
SYS-2026 — Eliminate SLA priority N+1 lookups in row enrichment — High
- Buat tiap cover letter di list, kode-nya bikin panggilan database terpisah cuma buat cari prioritas SLA-nya. 100 cover letter = 100 panggilan ekstra. Ambil semua prioritas dalam satu panggilan aja.
-
SYS-2024 — Skip getCalendarContext when holidays/businessHours already provided — Normal
- Pas hitung "cover letter ini telat atau enggak", kode-nya ngambil ulang daftar hari libur dari database tiap kali, padahal datanya udah ada. Pakai aja yang udah di-load, jangan ambil ulang.
-
SYS-2028 — Remove duplicate DB calls in getPreviousLogNumber — Normal
- Fungsi "apa log number sebelumnya?" mukul database dua kali buat jawaban yang sama. Simpan hasil panggilan pertama, pakai ulang.
-
SYS-2031 — Fix RunnerHelper offsetClause using limit instead of offset — Normal
- Bug paginasi: helper yang harusnya "skip N baris pertama" malah jadi "tampilin cuma N baris". Salah parameter. Tinggal tuker.
-
SYS-2033 — Parallelize legacy contractMention SLA/date post-processing — Normal
- Setelah list-nya diambil, kode hitung SLA dan tanggal buat tiap item satu-satu berurutan (serial). Jalanin barengan aja (paralel) — toh gak saling bergantung.
-
SYS-2030 — Validate export helper employee joins and domain correctness — Low
- Cek ulang export Excel — pastiin join ke tabel employee yang benar dan gak nyampur data antar business unit. Ini quality-check, bukan fix kecepatan.
-
SYS-2032 — Address low/medium hotspots in cover-letter-fetch-new service — Low
- Bersih-bersih kecil — inefisiensi kecil di service cover-letter-fetch-new, gak kritis tapi worth dirapiin kalau yang besar udah kelar.