Pertanyaan

Index Deskripsi : Silahkan buat index (dengan 1 kolom dan lebih dari 1 kolom).Analisa hasil sebelum dan sesudah m embuat index menggunakan explain.. Tugas optional coba beberapa explain. Tugas Praktikum Basis Data Lanjut

Solusi

Terverifikasi Ahli
4.7 (324 Suara)
Abhilasha elit ยท Tutor selama 8 tahun

Jawaban

## Index dan Analisa Kinerja Query**Tujuan:** Memahami konsep index dan menganalisis pengaruhnya terhadap kinerja query pada database.**Langkah:**1. **Buat tabel tanpa index:** - Buat tabel dengan beberapa kolom (misalnya, `id`, `nama`, `alamat`, `kota`). - Isi tabel dengan data yang cukup banyak (minimal 100 baris).2. **Jalankan query tanpa index:** - Jalankan query yang mencari data berdasarkan kolom yang **tidak diindex** (misalnya, `SELECT * FROM tabel WHERE kota = 'Jakarta'`). - Gunakan `EXPLAIN` untuk menganalisis rencana eksekusi query. Catat waktu eksekusi dan jumlah baris yang diproses.3. **Buat index pada kolom yang digunakan dalam query:** - Buat index pada kolom `kota` (misalnya, `CREATE INDEX idx_kota ON tabel (kota)`).4. **Jalankan query dengan index:** - Jalankan query yang sama seperti langkah 2. - Gunakan `EXPLAIN` untuk menganalisis rencana eksekusi query. Catat waktu eksekusi dan jumlah baris yang diproses.5. **Bandingkan hasil:** - Bandingkan waktu eksekusi dan jumlah baris yang diproses pada langkah 2 dan 4. - Analisis perbedaannya dan jelaskan bagaimana index mempengaruhi kinerja query.**Contoh Explain:**```sqlEXPLAIN SELECT * FROM tabel WHERE kota = 'Jakarta';```**Hasil Explain:**| Id | Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra ||---|---|---|---|---|---|---|---|---|---|| 1 | SIMPLE | tabel | ALL | NULL | NULL | NULL | NULL | 100 | Using where; Using filesort |**Analisa:**- `Type` = `ALL`: Database harus memindai semua baris dalam tabel untuk menemukan data yang sesuai.- `Key` = `NULL`: Tidak ada index yang digunakan.- `Rows` = 100: Database harus memproses 100 baris.- `Extra` = `Using where; Using filesort`: Database menggunakan klausa `WHERE` untuk menyaring data dan menggunakan `filesort` untuk mengurutkan hasil.**Setelah membuat index:**| Id | Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra ||---|---|---|---|---|---|---|---|---|---|| 1 | SIMPLE | tabel | index | idx_kota | idx_kota | 4 | const | 10 | Using index condition; Using where |**Analisa:**- `Type` = `index`: Database menggunakan index untuk menemukan data yang sesuai.- `Key` = `idx_kota`: Index `idx_kota` digunakan.- `Rows` = 10: Database hanya memproses 10 baris.- `Extra` = `Using index condition; Using where`: Database menggunakan index untuk menyaring data dan menggunakan `WHERE` untuk menyaring hasil.**Kesimpulan:**- Index membantu mempercepat proses pencarian data dengan mengurangi jumlah baris yang harus diproses.- Index dapat meningkatkan kinerja query yang menggunakan kolom yang diindex.**Tugas Opsional:**- Coba gunakan `EXPLAIN ANALYZE` untuk mendapatkan informasi lebih detail tentang kinerja query.- Coba buat index pada kolom lain dan analisis pengaruhnya terhadap kinerja query.- Coba gunakan berbagai jenis index (misalnya, `UNIQUE`, `FULLTEXT`) dan analisis perbedaannya.**Catatan:**- Hasil analisa dapat berbeda tergantung pada database yang digunakan dan data yang diproses.- Index dapat meningkatkan kinerja query, tetapi juga dapat memperlambat proses insert, update, dan delete data.- Penting untuk memilih index yang tepat untuk kebutuhan query yang sering digunakan.