Cara menggunakan mysql create index

MySQL merupakan aplikasi Relationship Database Management System (RDBMS) paling populer di dunia. Menguasai MySQL merupakan sebuah hal wajib bagi programmer. Apalagi jika dikaitkan dengan web programming yang (hampir) semuanya menggunakan MySQL sebagai database.

Duniailkom mencoba menyediakan tutorial bagi rekan-rekan yang ingin menguasai aplikasi database yang kini berada di bawah perusahaan Oracle ini. Mulai pengertian database, pengertian RDBMS, cara instalasi MySQL, cara membuat tabel MySQL, dan tutorial tentang cara menggunakan query MySQL.

Tutorial MySQL akan dibagi menjadi 2 bagian, yaitu Tutorial MySQL Dasar dan Tutorial MySQL Lanjutan. Semoga tutorial dan artikel MySQL di duniailkom ini bisa bermanfaat.

Dalam halaman ini, saya akan menyatukan seluruh link tutorial dan artikel MySQL di duniailkom:


Tutorial Belajar MySQL Dasar

Tutorial belajar MySQL dasar di duniailkom disusun secara sistematis. Dimulai dengan membahas pengertian database, sejarah MySQL, cara menginstall MySQL Server, lalu dilanjutkan dengan cara penulisan Query dasar MySQL.

Teori Dasar Database MySQL:

  • Tutorial MySQL Part 1: Alasan Menggunakan MySQL
  • Tutorial MySQL Part 2: Sejarah MySQL
  • Tutorial MySQL Part 3: Pengertian Database
  • Tutorial MySQL Part 4: Pengertian Relational Database
  • Tutorial MySQL Part 5: Pengertian SQL

Instalasi dan Settingan awal MySQL:

  • Tutorial MySQL Part 6: Instalasi MySQL
  • Tutorial MySQL Part 7: Mengenal File my.ini
  • Tutorial MySQL Part 8: Menjalankan MySQL Server
  • Tutorial MySQL Part 9: Menjalankan MySQL Client

Query Dasar MySQL:

  • Tutorial MySQL Part 10: Penulisan Query MySQL
  • Tutorial MySQL Part 11: Membuat dan Menghapus Database
  • Tutorial MySQL Part 12: Membuat dan Menghapus Tabel
  • Tutorial MySQL Part 13: Tipe Data Numerik
  • Tutorial MySQL Part 14: Tipe Data Huruf (String)
  • Tutorial MySQL Part 15: Tipe Data Date (Tanggal)
  • Tutorial MySQL Part 16: Tipe Data ENUM dan SET
  • Tutorial MySQL Part 17: Atribut Tipe Data
  • Tutorial MySQL Part 18: Merubah Tabel (ALTER TABLE)
  • Tutorial MySQL Part 19: Menambahkan data (Query INSERT)
  • Tutorial MySQL Part 20: Menambahkan data dari File
  • Tutorial MySQL Part 21: Menampilkan Data MySQL (SELECT)
  • Tutorial MySQL Part 22: Pencarian Data MySQL (Query LIKE)
  • Tutorial MySQL Part 23: Pencarian Data Regular Expression
  • Tutorial MySQL Part 24: Menggabungkan Tabel (INNER JOIN)
  • Tutorial MySQL Part 25: Menghapus Baris (DELETE)
  • Tutorial MySQL Part 26: Update Tabel (UPDATE)
  • Tutorial MySQL Part 27: Menggunakan Alias (AS)
  • Tutorial MySQL Part 28: Menghapus Duplikasi (DISTINCT)

Query Pembuatan User dan Hak Akses MySQL:

  • Tutorial MySQL Part 29: Mengenal Superuser root dan Pengertian Privileges MySQL
  • Tutorial MySQL Part 30: Cara Membuat dan Menghapus User MySQL (CREATE USER)
  • Tutorial MySQL Part 31: Cara Membuat Hak Akses (Privileges) User MySQL (GRANT)
  • Tutorial MySQL Part 32: Jenis-jenis Hak Akses (Privileges) dalam MySQL
  • Tutorial MySQL Part 33: Cara Melihat Daftar User dan Hak Akses (SHOW GRANTS FOR)
  • Tutorial MySQL Part 34: Cara Menghapus Hak Akses User MySQL (REVOKE)
  • Tutorial MySQL Part 35: Cara Mengalihkan Hak Akses User MySQL (GRANT OPTION)
  • Tutorial MySQL Part 36: Pengertian Fungsi Hashing dan Cara Kerja Password MySQL
  • Tutorial MySQL Part 37: Cara Merubah dan Menghapus Password User MySQL
  • Tutorial MySQL Part 38: Cara Mereset Password root (Lupa Password root MySQL)


Tutorial MySQL Lanjutan:

Tutorial MySQL lanjutan akan membahas fitur dan fungsi lanjutan MySQL. Agar bisa mengikuti tutorial ini setidaknya anda sudah paham query dasar MySQL yang dijelaskan pada Tutorial Dasar MySQL di atas.

Salah satu penyebab aplikasi menjadi lambat bisa diakibatkan oleh jumlah record pada database yang membengkak. Jumlah record yang banyak apalagi sudah menyentuh jutaan akan mempengaruhi performa query terutama pada saat pencarian. Penambahan Index pada column MySQL dapat membuat query pencarian menjadi lebih cepat.

Apa itu Index ?

Secara umum, indeks adalah suatu daftar kata – kata yang diurutkan disertai dengan rujukan atau referensi ke halaman yang menyebutkan. Prinsip Index pada MySQL sama persis dengan yang ada pada buku pada umumnya. Index pada MySQL berisi pointer ke data yang berelasi sehingga dapat membuat query pencarian menjadi lebih cepat.

Mempercepat Pencarian Data

Index dapat mempercepat pencarian pada kolom yang digunakan pada klausa WHERE. Query dapat menjadi lebih cepat karena dengan adanya Index MySQL tidak perlu melakukan Full Table Scan atau mebandingkan keseluruhan data untuk menemukan data yang sesuai.

Penambahan index akan sangat terasa manfaatnya pada table memiliki banyak record dan sering dilakukan query pencarian. Pada kasus saya dengan tabel yang memiliki 1.5 juta record, kecepatan query pencarian bisa berubah dari 0.5 detik menjadi 0.0003 detik setelah menambahkan Index pada salah satu kolom nya.

Kolom yang Di Index

Index dapat ditambahkan pada setiap column pada table, namun penggunaan Index yang berlebihan akan berdampak pada performa query saat melakukan INSERT, UPDATE, dan DELETE karena INDEX juga perlu diperbaharui. Oleh sebab itu sangat penting untuk menentukan mana kolom yang dirasa sangat perlu di Index. Biasanya Index ditambahkan pada kolom yang sering dijadikan acuan dalam klausa query WHERE. Contohnya apabila anda memiliki table seperti dibawah ini:

id, kode_pendaftaran, nama, tanggal_lahir, sekolah_asal

Bila sering dilakukan query yang mencari data berdasarkan kode_pendaftaran dan nama, maka tambahkan Index pada kedua kolom tersebut. Sederhananya seperti itu, informasi mengenai jenis – jenis index dapat anda baca selengkapnya pada dokumentasi MySQL: How MySQL Uses Indexes

Untuk membuat Index pada salah satu kolom dapat digunakan query dibawah ini:

ALTER TABLE `nama_tabel` ADD INDEX(`nama_field`)

Sementara untuk menghapus index dapat digunakan query:

ALTER TABLE `nama_tabel` DROP INDEX `nama_field`;

query diatas dapat digunakan untuk Single Column Index yang sederhana, apabila anda membutuhkan Multi-column index dengan konfigurasi lanjutan dapat dilihat pada dokumentasi MySQL : Create Index Statement

apabila anda pengguna phpMyAdmin maka pembuatan index akan lebih mudah dilakukan. Pilih table yang akan ditambahkan index, kemudian klik menu tab Structure, kemudian klik menu Lainnya pada kolom yang akan diberi index.

Cara menggunakan mysql create index

Menemukan Query yang Lambat

Query yang lambat pada umumnya akan membutuhkan waktu lama untuk selesai. Untuk menemukan query yang lambat anda dapat memeriksa prosess mysql dengan query:

show processlist;

Hasil outputnya kurang lebih seperti dibawah ini:

+-----+------+-----------------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+
 | Id  | User | Host            | db   | Command | Time | State        | Info                                                                                                 | Progress |
 +-----+------+-----------------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+
 |  70 | root | localhost       | NULL | Query   |    0 | starting     | show processlist                                                                                     |    0.000 |
 | 359 | root | localhost:50176 | test | Query   |    2 | Sending data | SELECT *  FROM table WHERE code LIKE 'xx' AND deleted_at IS NOT NULL                             |    0.000 |
 | 360 | root | localhost:50177 | NULL | Sleep   |    1 |              | NULL                                                                                                 |    0.000 |
 +-----+------+-----------------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+
 3 rows in set (0.000 sec)

Cari proses yang memiliki Time paling lama dari hasil query tersebut, kemudian perhatikan di bagian kanan ada Info pendek mengenai query yang sedang dikerjakan. Analisa dengan baik query tersebut sebelum memutuskan untuk menambahkan index.

Apa itu Index di MySQL?

Indeks adalah tabel pencarian khusus yang dapat digunakan mesin pencari basis data untuk mempercepat pengambilan data. Sederhananya, indeks adalah penunjuk ke data dalam tabel.

Bagaimana cara membuat database di MySQL?

Untuk membuat database MySQL baru, masuk cPanel dan klik menu MySQL Databases:.
Pilih nama database. Prefix defaultnya adalah "yoururser_". ... .
Scroll ke bawah dan cari Add New User. Masukkan username dan password, lalu klik Create User:.
Cari opsi Add User To Database untuk menghubungkan User ke Database. ... .
Selesai!.

Apa gunanya index pada sebuah tabel?

Fungsi INDEX menghasilkan nilai atau referensi ke nilai dari dalam tabel atau rentang.

Mengapa index pada database diperlukan?

Tujuan adanya index dalam database antara lain adalah untuk mempercepat pencarian data berdasarkan kolom tertentu. Index adalah sebuah objek dalam sistem database yang dapat mempercepat proses pencarian (query) data.