Pada seri belajar SQL database bagian 12, kita telah belajar tentang index di MySQL dan bagaimana index membantu mempercepat proses pencarian data. Namun, performa database tidak hanya dipengaruhi oleh index saja, tetapi juga cara penulisan query SQL.
Query yang kurang optimal dapat membuat proses pencarian data menjadi lambat, terutama ketika jumlah data pada database semakin banyak. Karena itu, penting untuk memahami dasar optimasi query SQL agar performa website atau aplikasi tetap cepat dan stabil.
Pada seri belajar SQL database bagian 13 ini, kita akan belajar beberapa teknik dasar optimasi query SQL yang mudah dipahami untuk pemula.
Persiapan Query Database
Pada tutorial ini, kita akan menggunakan tabel mahasiswa sebagai contoh. Struktur dan isi tabel tersebut dapat dilihat pada gambar berikut.

Data tersebut akan digunakan untuk memahami contoh query optimasi SQL.
Teknik Dasar Optimasi Query SQL
Setelah database mahasiswa berhasil dibuat, selanjutnya kita akan mempelajari beberapa teknik dasar optimasi query SQL untuk meningkatkan kecepatan eksekusi query dan menjaga performa database tetap optimal.
1. Hindari Penggunaan SELECT *
Banyak pengguna SQL menggunakan query seperti berikut:
SELECT * FROM mahasiswa;Query tersebut akan mengambil seluruh kolom pada tabel. Padahal terkadang kita hanya membutuhkan beberapa data saja.
Contoh yang lebih baik:
SELECT nama, jurusan FROM mahasiswa;Hasil query:

Dengan hanya mengambil kolom yang dibutuhkan, query menjadi lebih ringan dan lebih cepat diproses.
2. Gunakan WHERE untuk Memfilter Data
Tanpa filter, database akan membaca seluruh data pada tabel.
Contoh:
SELECT nama FROM mahasiswa;Jika jumlah data sangat banyak, query tersebut tentu kurang efisien.
Lebih baik gunakan kondisi WHERE:
SELECT nama FROM mahasiswa
WHERE jurusan = 'Informatika';Hasil query:

Dengan WHERE, database hanya mengambil data yang diperlukan.
3. Gunakan INDEX
INDEX membantu MySQL menemukan data lebih cepat tanpa harus membaca seluruh isi tabel.
Contohnya, jika pencarian data sering dilakukan berdasarkan kolom jurusan, maka kolom tersebut bisa diberikan index.
Query berikut akan lebih optimal jika kolom jurusan memiliki index:
SELECT * FROM mahasiswa
WHERE jurusan = 'Informatika';Hasil query:

Meskipun hasil query tetap sama, penggunaan INDEX membantu MySQL menemukan data lebih cepat tanpa harus membaca seluruh isi tabel satu per satu.
Karena itu, INDEX sangat berguna pada tabel yang memiliki banyak data.
4. Hindari LIKE di Awal Kata
Perhatikan query berikut:
SELECT * FROM mahasiswa
WHERE nama LIKE '%di';Query tersebut kurang optimal karena tanda persen (%) berada di depan kata.
Akibatnya, MySQL sulit menggunakan index.
Lebih baik gunakan:
SELECT * FROM mahasiswa
WHERE nama LIKE 'Di%';Hasil query:

Versi ini lebih cepat karena index masih dapat digunakan.
5. Gunakan LIMIT
Kadang kita tidak perlu menampilkan seluruh data sekaligus.
Contoh:
SELECT * FROM mahasiswa
LIMIT 2;Hasil query:

LIMIT membantu mengurangi jumlah data yang diproses database.
Teknik ini sering digunakan pada:
- pagination,
- dashboard,
- halaman admin,
- dan API data.
6. Hindari Query Berulang yang Tidak Perlu
Menjalankan query yang sama secara terus-menerus dapat membebani server database.
Contoh:
SELECT * FROM mahasiswa
WHERE jurusan = 'Informatika';Jika query tersebut dipanggil berkali-kali dalam waktu singkat, performa database bisa menurun.
Karena itu:
- gunakan query seperlunya,
- manfaatkan caching,
- dan hindari pengambilan data berulang yang tidak diperlukan.
7. Gunakan EXPLAIN untuk Analisa Query
MySQL menyediakan fitur EXPLAIN untuk melihat bagaimana query dijalankan.
Contoh:
EXPLAIN SELECT * FROM mahasiswa
WHERE jurusan = 'Informatika';Contoh hasil:

EXPLAIN membantu mengetahui:
- apakah query menggunakan index,
- jumlah data yang dibaca,
- dan performa query secara umum.
Semakin sedikit data yang dibaca, biasanya query akan semakin cepat.
Penutup
Optimasi Query SQL adalah salah satu keterampilan penting yang perlu dikuasai oleh setiap pengguna database. Query yang ditulis dengan baik tidak hanya menghasilkan data yang dibutuhkan, tetapi juga membantu menjaga performa database tetap cepat dan efisien, terutama ketika jumlah data terus bertambah.
Beberapa teknik dasar optimasi query yang sering digunakan antara lain:
- menghindari SELECT *,
- menggunakan WHERE,
- memanfaatkan INDEX,
- menggunakan LIMIT,
- menghindari LIKE di awal kata,
- dan menggunakan EXPLAIN.
Meskipun terlihat sederhana, teknik-teknik tersebut sangat membantu terutama ketika jumlah data pada database mulai bertambah banyak.
Demikian tutorial belajar SQL database bagian 13 tentang optimasi query SQL untuk pemula. Jangan lewatkan seri belajar SQL database lainnya dari Rumahweb untuk terus meningkatkan pemahaman Anda. Semoga bermanfaat!


