Pemeliharaan basisdata, table & Penggunaan index dalam menjaga performa basisdata
Latar Belakang
Dalam sistem basis data, pencarian data yang efisien sangat penting untuk menjaga performa. Tanpa penggunaan indeks yang tepat, query dapat memerlukan waktu eksekusi yang lama karena melakukan full table scan. Oleh karena itu, dilakukan simulasi penggunaan index dan pengujian performa untuk memahami dampaknya.
Permasalahan yang Diangkat
-
Bagaimana cara mengimpor data ke dalam basis data dengan benar?
-
Bagaimana cara menggunakan index untuk meningkatkan performa query?
-
Apakah penambahan index berpengaruh pada efisiensi pencarian data?
-
Bagaimana cara menambahkan atribut baru dan melakukan pembaruan nilai atribut berdasarkan data yang ada?
-
Apakah ada perbedaan waktu eksekusi query sebelum dan sesudah menggunakan index?
Solusi dan Skenario Aktivitas
Berikut langkah-langkah yang dilakukan untuk menguji efektivitas index dalam basis data:
A. Import Data
-
Data diimpor dari dataset employee.sql.
-
Mengeksekusi script
source employee.sql
. -
Memverifikasi tabel hasil impor:
employee
,departments
,dept_manager
,dept_emp
, dansalaries
.
B. Simulasi Penggunaan Index
-
Menjalankan Query Tanpa Index
Analisis: Query ini melakukan full table scan karena belum ada index yang digunakan.
-
Menambahkan Index
Analisis: Index membantu dalam pencarian data berdasarkan first_name dan last_name.
-
Menjalankan Query Setelah Index Ditambahkan
Analisis: Query EXPLAIN menunjukkan bahwa MySQL kini menggunakan index.
C. Penambahan Atribut Baru dan Update Data
-
Menambahkan Kolom
nama_departemen
padadept_manager
dandept_emp
-
Update nilai kolom berdasarkan tabel
department
.
-
-
Menambahkan Kolom
umur
dan Menghitung Usia KaryawanAnalisis: Umur dihitung berdasarkan selisih tahun dari
birth_date
dengan tanggal saat ini.
D. Pengujian Performa Index
-
Query Sebelum Index Ditambahkan
-
Eksekusi sebanyak 10 kali.
-
Rata-rata waktu eksekusi: 0.0022 detik.
-
-
Query Setelah Index Ditambahkan
-
Eksekusi sebanyak 10 kali.
-
Rata-rata waktu eksekusi: 0.0024 detik.
-
Analisis:
-
Penambahan index menunjukkan sedikit peningkatan waktu eksekusi.
-
Hal ini bisa terjadi karena MySQL harus memelihara index saat terjadi perubahan data.
-
Namun, pada dataset besar, penggunaan index akan lebih efektif dalam meningkatkan performa query.
Kesimpulan
-
Index membantu mempercepat pencarian data dengan mengurangi full table scan.
-
Penggunaan composite index dapat meningkatkan efisiensi dalam pencarian berbasis kombinasi kolom.
-
Penambahan atribut baru seperti umur dan nama departemen dapat memperkaya informasi dalam basis data.
-
Pada skala kecil, dampak index terhadap waktu eksekusi tidak terlalu signifikan, namun pada skala besar, manfaatnya lebih terlihat.
Comments
Post a Comment