Latihan 1 dari materi Database Query Performance di Performance — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Buat dua fungsi untuk analisis query database:
1. analyzeQuery(query) — Analisis string query SQL dan return object { issues: string[], suggestions: string[] }:
"SELECT *" → tambah issue "SELECT * mengambil semua kolom" dan suggestion "Pilih kolom spesifik yang dibutuhkan""SELECT" di dalam string yang mengandung "for (" atau "forEach" (lowercase) → tambah issue "Potensi N+1 query" dan suggestion "Gunakan JOIN atau eager loading""LIKE '%" atau 'LIKE "%" → tambah issue "LIKE dengan wildcard di awal" dan suggestion "Gunakan Full Text Search"2. estimateQueryCost(plan) — Diberikan object { rows, joins, indexes }, return cost score:
rows