Penjelasan indexing database

3
NIM : 1311511354 Nama : Samsul Arifin Mata Kuliah : Rekayasa Web Penjelasan Indexing pada Database Pengertian Tentang Indexing pada Database Di dalam Database, ada istilah indeks (index), secara gambaran indeks dapat dibayangkan sebagai indeks buku, sehingga lelalui indeks buku tersebut dapat dicari letak item tertentu dalam buku dengan mudah. Keberadaan indeks dalam basis data antara lain adalah untuk mempercepat pencarian data berdasarkan kolom tertentu. Sebuah indeks database adalah struktur data yang meningkatkan kecepatan operasi pengambilan data pada tabel database. Indeks digunakan untuk mempercepat menemukan data tanpa harus mencari setiap baris dalam tabel database setiap kali tabel database diakses. Indeks dapat dibuat menggunakan satu atau lebih kolom dari tabel database, menyediakan dasar untuk kedua pencarian acak yang cepat dan akses yang efisien dari urutan record. Saat database dibuat tanpa menggunakan index, maka kinerja server database dapat menurun secara drastis. Hal ini dikarenakan resource komputer banyak digunakan untuk pencarian data atau pengaksesan query SQL dengan metode table-scan. Index pada kolom-kolom tabel database mempunyai fungsi seperti indeks kamus atau buku. Hal ini membuat pencarian data akan lebih cepat dan tidak banyak menghabiskan resource komputer. Sebenarnya index di dalam database itu sangat perlu sekali karena index di database merupakan sebuah kunci yang digunakan untuk mencari tabel beserta record nya, seorang programmer khususnya dalam bidang database tidak lupa untuk menciptakan sebuah index karena digunakan untuk memudahkan proses pembuatan project. Berikut ini adalah beberapa alasan kenapa index diperlukan: - Kolom sering digunakan dalam klausa WHERE atau dalam kondisi join - Kolom berisi nilai dengan jangkauan yang luas - Kolom berisi banyak nilai null - Beberapa kolom sering digunakan dalam klausa WHERE atau dalam kondisi join - Tabel berukuran besar dan sebagian besar query menampilkan data kurang dari 2-4%. Perlu diperhatikan bahwa terdapat beberapa kondisi dimana tidak diperlukan kehadiran index, yaitu ketika: - Table kecil - Kolom tidak sering digunakan sebagai kondisi dalam query - Kebanyakan query menampilkan data lebih dari 2-4% dari seluruh data - Table sering di-update

Transcript of Penjelasan indexing database

Page 1: Penjelasan indexing database

NIM : 1311511354

Nama : Samsul Arifin

Mata Kuliah : Rekayasa Web

Penjelasan Indexing pada Database

Pengertian Tentang Indexing pada Database

Di dalam Database, ada istilah indeks (index), secara gambaran indeks dapat dibayangkan sebagai indeks

buku, sehingga lelalui indeks buku tersebut dapat dicari letak item tertentu dalam buku dengan mudah.

Keberadaan indeks dalam basis data antara lain adalah untuk mempercepat pencarian data berdasarkan

kolom tertentu.

Sebuah indeks database adalah struktur data yang meningkatkan kecepatan operasi pengambilan data

pada tabel database. Indeks digunakan untuk mempercepat menemukan data tanpa harus mencari setiap

baris dalam tabel database setiap kali tabel database diakses. Indeks dapat dibuat menggunakan satu atau

lebih kolom dari tabel database, menyediakan dasar untuk kedua pencarian acak yang cepat dan akses

yang efisien dari urutan record.

Saat database dibuat tanpa menggunakan index, maka kinerja server database dapat menurun secara

drastis. Hal ini dikarenakan resource komputer banyak digunakan untuk pencarian data atau

pengaksesan query SQL dengan metode table-scan. Index pada kolom-kolom tabel database mempunyai

fungsi seperti indeks kamus atau buku. Hal ini membuat pencarian data akan lebih cepat dan tidak banyak

menghabiskan resource komputer.

Sebenarnya index di dalam database itu sangat perlu sekali karena index di database merupakan sebuah

kunci yang digunakan untuk mencari tabel beserta record nya, seorang programmer khususnya dalam

bidang database tidak lupa untuk menciptakan sebuah index karena digunakan untuk memudahkan proses

pembuatan project.

Berikut ini adalah beberapa alasan kenapa index diperlukan:

- Kolom sering digunakan dalam klausa WHERE atau dalam kondisi join

- Kolom berisi nilai dengan jangkauan yang luas

- Kolom berisi banyak nilai null

- Beberapa kolom sering digunakan dalam klausa WHERE atau dalam kondisi join

- Tabel berukuran besar dan sebagian besar query menampilkan data kurang dari 2-4%.

Perlu diperhatikan bahwa terdapat beberapa kondisi dimana tidak diperlukan kehadiran index, yaitu

ketika:

- Table kecil

- Kolom tidak sering digunakan sebagai kondisi dalam query

- Kebanyakan query menampilkan data lebih dari 2-4% dari seluruh data

- Table sering di-update

Page 2: Penjelasan indexing database

Database oracle mampu mendukung beberapa tipe index yaitu:

1. B*-Tree

Suatu B*-tree adalah tipe standar dari index yang tersedia pada Oracle, dan itu sangat berguna pada saat

memilih row yang sesuai dengan kriteria tertentu. Index jenis ini bisa dibuat dengan perintah CREATE

INDEX.

Contoh: CREATE INDEX nama_pegawai_idx ON pegawai(nama);

2. Bitmap index

Index yang biasa digunakan untuk kolom yang memiliki sedikit nilai yang unik, seperti jenis kelamin,

agama, atau status perkawinan.

Contoh: CREATE BITMAP INDEX jenis_kelamin_idx ON biodata (jenis_kelamin);

3. Function-based indexes

Selain melakukan index terhadap kolom, seperti kolom Nama misalnya, maka dapat meng-index suatu

kolom yang berbasis fungsi. Function-based index akan memberikan kesempatan bagi

Oracle optimizer beberapa pilihan ketika memilih execution path.

Contoh: CREATE INDEX total_gaji_idx ON penggajian (gaji_pokok + bonus);

4. Revers Key Index

Index yang digunakan untuk data yang sangat beragam(unik) atau increment.

Contoh: CREATE INDEX nomor_ktp_idx ON biodata (nomor_ktp) REVERSE;

5. Partitioned indexes

Partition index dapat digunakan untuk mendukung partitioned tables atau untuk menyederhanakan index

management. Index partition dapat bersifat lokal bagi partisi tabel atau dapat pula bersifat global yang

berpengaruh pada seluruh tabel.

6. Text indexes

Meng-index nilai text untuk mendukung peningkatan pada kemampuan pencarian, seperti pencarian frase

dan lain sebagainya. Text indexes merupakan himpunan dari tabel dan indexyang dipelihara oleh Oracle

untuk mendukung pencarian teks yang sangat kompleks. Oracle Database 10g menawarkan peningkatan

pada text indexes yang mana menyederhanakan proses administrasi dan pemeliharaannya.

Menghapus index

Index tidak dapat dimodifikasi. Maka harus menghapusnya terlebih dahulu dan menciptakannya kembali.

Definisi index dapat dihapus dari data dictionary dengan perintah DROP INDEX.

Contoh: DROP INDEX employee_last_name_idx;

Page 3: Penjelasan indexing database

MySQL memiliki beberapa tipe dari Index yang berbeda, yaitu :

1.INDEX.

2.UNIQUE

3.PRIMARY KEY

4.FULLTEXT index