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
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
MySQL memiliki beberapa tipe dari Index yang berbeda,
yaitu : 1.INDEX.
2.UNIQUE
3.PRIMARY KEY
4.FULLTEXT index

Penjelasan indexing database 1411510850

  • 1.
    Pengertian Tentang Indexingpada 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
  • 2.
    Database oracle mampumendukung 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.
  • 3.
    6. Text indexes Meng-indexnilai 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 MySQL memiliki beberapa tipe dari Index yang berbeda, yaitu : 1.INDEX. 2.UNIQUE 3.PRIMARY KEY 4.FULLTEXT index