Last Updated on March 6, 2023 by
SQL Index adalah tabel pencarian khusus yang dapat digunakan oleh mesin pencari database untuk mempercepat pengambilan data. Sederhananya, indeks merupakan penunjuk ke data dalam tabel. Indeks pada database sangat mirip dengan indeks pada bagian belakang buku.
Misalnya, jika Anda ingin mereferensikan semua halaman dalam buku yang membahas topik tertentu, pertama-tama Anda merujuk ke indeks, yang mencantumkan semua topik menurut abjad, lalu dirujuk ke satu atau beberapa nomor halaman tertentu.
Pada pembahasan kali ini, kita akan belajar SQL index dan cara menggunakannya dengan contoh.
Table of Contents
SQL Index
Indeks dalam SQL adalah tabel khusus yang digunakan untuk mempercepat pencarian data dalam tabel database. Itu juga sering mengambil sejumlah besar data dari tabel. INDEX membutuhkan ruangnya sendiri di hard disk.
Konsep SQL Index sama dengan konsep indeks dalam novel atau buku.
Ini adalah teknik SQL terbaik untuk meningkatkan kinerja kueri. Kelemahan menggunakan indeks adalah memperlambat waktu eksekusi pernyataan UPDATE dan INSERT. Tetapi mereka juga memiliki satu keuntungan karena mempercepat waktu eksekusi pernyataan SELECT dan WHERE.
Membuat indeks melibatkan pernyataan CREATE INDEX , yang memungkinkan Anda memberi nama indeks, menentukan tabel dan kolom atau kolom mana yang akan diindeks, dan menunjukkan apakah indeks dalam urutan naik atau turun.
Indeks juga bisa unik, seperti kendala UNIQUE , karena indeks mencegah entri duplikat di kolom atau kombinasi kolom yang memiliki indeks.
Dalam SQL Index dibuat pada bidang tabel. Kita dapat dengan mudah membangun satu atau lebih indeks di atas meja. Pembuatan dan penghapusan Indeks tidak mempengaruhi data database.
Kapan Menggunakan Index
Pengindeksan dalam SQL membantu mempercepat penggunaan klausa WHERE dan SELECT . Namun, ini memperlambat kinerja pernyataan UPDATE dan INSERT , yang digunakan untuk input data.
Menggunakan indeks paling masuk akal ketika kolom memiliki aturan tertentu sebagai berikut:
- Menyimpan sedikit atau tidak ada nilai NULL
- Memegang nilai rentang yang agak lebar
- Sering digunakan dengan WHERE
- Sering digunakan dalam gabungan
- Tidak terus-menerus diperbaharui
Mengapa SQL Index?
Alasan berikut memberi tahu mengapa Indeks diperlukan dalam SQL:
- Indeks SQL dapat mencari informasi dari database besar dengan cepat.
- Konsep ini adalah proses cepat untuk kolom tersebut, termasuk nilai yang berbeda.
- Struktur data ini mengurutkan nilai data kolom (bidang) baik dalam urutan menaik atau menurun. Dan kemudian, itu memberikan entri untuk setiap nilai.
- Setiap table SQL Index hanya berisi dua kolom. Kolom pertama adalah row_id, dan kolom lainnya adalah indexed-column.
- Saat indeks digunakan dengan tabel yang lebih kecil, kinerja indeks mungkin tidak dikenali.
Membuat INDEX SQL
Dalam SQL, kita dapat dengan mudah membuat Indeks menggunakan Pernyataan CREATE berikut:
CREATE INDEX Index_Name ON Table_Name ( Column_Name);
Di sini, Index_Name adalah nama indeks yang ingin kita buat, dan Table_Name adalah nama tabel tempat indeks akan dibuat. Column_Name mewakili nama kolom tempat indeks diterapkan.
Jika kita ingin membuat indeks pada kombinasi dua atau lebih kolom, maka sintaks berikut dapat digunakan dalam SQL:
CREATE INDEX Index_Name ON Table_Name ( column_name1, column_name2, ...., column_nameN);
Catatan : Karena sistem basis data secara default sangat cepat, perbedaan kecepatan hanya terlihat saat kita bekerja dengan tabel yang memiliki banyak catatan.
Contoh tabel untuk membuat Indeks di SQL:
Mari kita ambil contoh dari tabel Employee:
Emp_Id | Emp_Name | Emp_Salary | Emp_City | Emp_State |
1001 | Miranda | 20000 | Kupang | Denpasar |
1002 | Nara | 35000 | Depok | Kendari |
1003 | Ameena | 25000 | Badung | Cimahi |
1004 | Wiyoto | 30000 | Malang | Jayapura |
Kueri SQL berikut membuat Indeks ‘Index_state’ pada kolom Emp_State pada tabel Employee .
CREATE INDEX index_state ON Employee (Emp_State);
Misalkan kita ingin membuat indeks pada kombinasi kolom Emp_city dan Emp_State dari tabel Employee di atas . Untuk ini, kita harus menggunakan kueri berikut:
CREATE INDEX index_city_State ON Employee (Emp_City, Emp_State);
Buat INDEKS UNIK
Unique SQL Index sama dengan kunci Utama dalam SQL. Indeks unik tidak mengizinkan pemilihan kolom yang berisi nilai duplikat. Meskipun indeks dibuat hanya untuk nilai unik, data asli dalam tabel tetap tidak berubah.
Indeks ini adalah cara terbaik untuk menjaga integritas data tabel SQL.
Sintaks untuk membuat Unique Index adalah sebagai berikut:
CREATE UNIQUE INDEX Index_Name ON Table_Name ( Column_Name);
Contoh untuk membuat Indeks Unik di SQL:
Mari kita ambil tabel Employee di atas. Kueri SQL berikut membuat index unik index_salary pada kolom Emp_Salary dari table Employee .
CREATE UNIQUE INDEX index_salary ON Employee (Emp_Salary);
Ganti nama SQL INDEX
Kita dapat dengan mudah mengganti nama indeks tabel di database relasional menggunakan perintah ALTER.
Sintaksis:
ALTER INDEX old_Index_Name RENAME TO new_Index_Name;
Contoh untuk Mengganti Nama Indeks dalam SQL:
Kueri SQL berikut mengganti nama indeks ‘index_Salary’ menjadi ‘index_Employee_Salary’ dari tabel Employee di atas:
ALTER INDEX index_Salary RENAME TO index_Employee_Salary;
Hapus INDEX
SQL Index tabel dapat dengan mudah dihapus dari database SQL menggunakan perintah DROP. Jika Anda ingin menghapus indeks dari kamus data, Anda harus menjadi pemilik database atau memiliki hak istimewa untuk menghapusnya. Menghapus indeks berarti hanya indeks yang dihapus. Data dalam tabel asli tetap tidak berubah.
Sintaks untuk Menghapus Indeks dalam basis data relasional adalah sebagai berikut:
Dalam basis data Oracle:
DROP INDEX Index_Name;
Dalam basis data MySQL:
ALTER TABLE Table_Name DROP INDEX Index_Name;
Di basis data Ms-Access:
DROP INDEX Index_Name ON Table_Name;
Dalam Basis Data SQL Server:
DROP INDEX Table_Name.Index_Name;
Contoh untuk menghapus Indeks di SQL:
Misalkan kita ingin menghapus ‘index_Salary’ di atas dari database SQL Index. Untuk ini, kita harus menggunakan kueri SQL berikut:
DROP INDEX index_salary;
Mengubah INDEX
Indeks tabel dapat dengan mudah dimodifikasi dalam database relasional menggunakan perintah ALTER.
Sintaks dasar untuk memodifikasi Indeks dalam SQL adalah sebagai berikut:
ALTER INDEX Index_Name ON Table_Name REBUILD;
Kapan INDEKS tidak boleh digunakan dalam SQL?
Indeks tidak boleh digunakan dalam SQL dalam kasus atau situasi berikut:
- Indeks SQL dapat dihindari jika ukuran tabel kecil.
- Ketika tabel perlu sering diperbarui.
- Diindeks tidak boleh digunakan pada kasus tersebut ketika kolom tabel berisi sejumlah besar nilai NULL.
Bagian Akhir
SQL Index adalah objek skema. Ini digunakan oleh server untuk mempercepat pengambilan baris dengan menggunakan pointer. Hal Itu dapat mengurangi I/O disk (input/output) dengan menggunakan metode akses jalur cepat untuk menemukan data dengan cepat.
Indeks membantu mempercepat kueri pemilihan dan klausa Where, tetapi memperlambat input data, dengan pernyataan pembaharuan dan penyisipan. Indeks dapat dibuat atau dihapus tanpa efek pada data. Pada artikel ini, kita telah belajar sql dengan cara membuat, menghapus, dan menggunakan INDEX dalam database.
Temukan lebih banyak artikel seri belajar SQL maupun bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis. Sampai bertemu lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.