Latihan 1: Database Query Performance — Performance

Latihan 1 dari materi Database Query Performance di Performance — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi dua function di kode awal.

  1. analyzeQuery(query) menerima string SQL dan mengembalikan { issues, suggestions }: dua array string, dengan urutan key issues lalu suggestions. Cek berurutan:

    1. Kalau query mengandung SELECT *, tambahkan issue "SELECT * mengambil semua kolom" dan suggestion "Pilih kolom spesifik yang dibutuhkan".
    2. Kalau query mengandung LIKE '% (LIKE, spasi, kutip satu, persen), tambahkan issue "LIKE dengan wildcard di awal" dan suggestion "Gunakan Full Text Search".

    Query tanpa masalah menghasilkan dua array kosong. Teksnya harus persis sama, termasuk huruf besar kecil.

  2. estimateQueryCost(plan) menerima { rows, joins, indexes } dan mengembalikan skor biaya: mulai dari rows, kalikan 1.5 untuk setiap join (1.5 pangkat joins), lalu kalau indexes > 0 bagi 10 sekali saja (berapa pun jumlah index-nya), dan bulatkan dengan Math.round.

Yang dicek:

Baris console.log di kode awal biarkan saja.

Hint