Cara Mempercepat Dan Mengoptimalkan Query Database MySQL

Yudha Romadhon

30 Jun 2018, 1 Bulan Lalu

Cara Mempercepat Dan Mengoptimalkan Query Database MySQL

Basis data atau yang kita kenal dengan Database adalah kumpulan data yang di simpan secara sistematis dan terstruktur di dalam system komputer yang dapat saling terintegrasi satu sama lain antar basis data maupun bahasa pemrograman. Ada beberapa model software database yang bertebaran di luar sana seperti Ms Access, Oracle, Ms SQL Server, MySQL, Firebird dan Postsgre SQL. Namun pada kesempatan kali ini, saya akan membahas mengenai cara efektif yang dapat anda lakukan untuk mempercepat query pada database yang menggunakan MySQL dan sangat cocok bagi anda yang memiliki Big Record atau Record Dalam Jumlah Besar.

Banyak cara yang dapat dilakukan dalam meningkatkan proses Query / Tuning MySQL agar dapat mengolah dan Memproses data dalam waktu yang sangat cepat. Berikut beberapa cara efektif yang dapat di lakukan untuk mempercepat pengaksesan data dalam jumlah besar pada MySQL Database.

Metode Index

Melakukan pengindexan kolom dalam tabel tidak seperti ketika Anda membuat daftar isi pada sebuah buku yang memiliki banyak halaman. bayangkan saja jika Anda memiliki buku yang sangat tebal dan Anda ingin mencari sebuah topik / materi namun harus mencarinya pada tiap halaman demi halaman, tentu hal tersebut sangat sulit dan terasa sangat lama.

Dengan menggunakan index, Anda tidak perlu men-scan satu demi satu record untuk mencari data yang Anda cari, namun Anda hanya perlu melihat berdasarkan rujukan data yang telah di buat sehingga akan mempercepat pencarian data secara drastis.

Tidak selamanya metode index dapat mempercepat pengaksesan data, karena index akan terasa sangat efektif jika anda memiliki record data dalam jumlah besar dan Anda cukup mengindex kolom kolom tertentu saja yang sering akan anda gunakan untuk pengaksesan WHERE, JOIN, ORDER BY, GROUP BY.

Metode System Operator

Penggunaan operator simbol seperti <, >, =, !=, ><, dll sangat membantu dalam menghasilkan kecepatan pencarian dari query. Cara kerja database management system (DBMS) dalam menerapkan query dengan kondisi “>” dibandingkan dengan “=>” akan sedikit berbeda, apabila kita menggunakan “=>” maka DBMS akan menerapkan dua kriteria pada setiap hasil, tidak langsung mencari pada kondisi langsung seperti apabila kita menggunakan “>”

Metode Wildcard

Wilcard di simbolkan dengan " % " yang di gunakan pada WHERE Clause, seperti prefix ( %keyword ) ataupun postfix ( keyword% ). Disarankan untuk menghindari menggunakan wildcard penuh, karna akan membuat database anda overload dikala Anda memiliki record dalam jumlah besar

Metode Operator Positif

Gunakakan sybom ( = ) untuk mencari data spesifik kurang di anjurkan menggunakan ( != ) karna jika anda memiliki record yang sangat besar. maka anda akan memaksa database untuk men-scan data terus menerus.

Penyesuaian Tipe Data

Sesuaikanlah tipe data pada tiap kolom sesuai dengan value yang akan di tampung. jika value berupa angka, gunakanah tipe data numeric dan jika merupakan string maka gunakanlah tipe data text atau sejenisnya. dan usahakan untuk menghindari penyimpangan penggunaan tipe data untuk mempercepat proses tunning database.

Membatasi Hasil Query

Gunakan perintah LIMIT untuk membatasi query yang akan diproses dan di tampilkan untuk menghidari proses yang tak diperlukan yang dapat menghambat kinerja database

Menggunakan Primary Index

Primary Column yang digunakan untuk indeks harus dibuat sependek mungkin, dengan begitu identifikasi dari baris-baris yang ada akan lebih efisien bagi DBMS.

Hindari Penggunaan SELECT *

Select mungkin merupakan keyword yang paling sering digunakan, karena itu optimasi pada perintah SELECT sangat mungkin dapat memperbaiki kinerja aplikasi secara keseluruhan. SELECT * digunakan untuk melakukan query semua field yang terdapat pada sebuah table, tetapi jika Anda hanya ingin memproses field tertentu, maka sebaiknya Anda menuliskan field yang ingin diakses saja, sehingga query Anda menjadi SELECT field1, field2, field3 dan seterusnya (jangan pedulikan kode program yang menjadi lebih panjang!). Hal ini akan mengurangi beban lalu lintas jaringan dan lock pada table, terutama jika table tersebut memiliki banyak field dan berukuran besar.

Batasi ORDER BY

Penggunaan ORDER BY yang berfungsi untuk mengurutkan data, ternyata memiliki konsekuensi menambah beban query, karena akan menambah satu proses lagi, yaitu proses sort. Karena itu gunakan ORDER BY hanya jika benar-benar dibutuhkan oleh aplikasi Anda. Atau jika dimungkinkan, Anda dapat melakukan pengurutan pada sisi client dan tidak pada sisi server. Misalnya dengan menampung data terlebih dahulu pada komponen grid dan melakukan sortir pada grid tersebut sesuai kebutuhan pengguna.

Gunakan WHERE dalam SELECT

Saat sebuah table dengan jumlah data yang sangat besar diproses, juga terjadi proses lock terhadap table tersebut sehingga menyulitkan pengaksesan table yang bersangkutan oleh pengguna yang lain.Bahkan jika Anda bermaksud memanggil seluruh record, tetap menggunakan WHERE merupakan kebiasaan yang baik.Jika Anda telah menggunakan WHERE pada awal query, maka kapanpun Anda ingin menambahkan kondisi tertentu, Anda tinggal menyambung query tersebut dengan klausa AND diikuti kondisi yang diinginkan.


Tapi bagaimana menggunakan WHERE jika benar-benar tidak ada kondisi apapun? Anda dapat menuliskan suatu kondisi yang pasti bernilai true, misalnya SELECT …. WHERE 1=1. Bahkan tools open source phpMyAdmin yang berfungsi untuk mena ngani database MySQL selalu menyertakan default klausa WHERE 1 pada perintah SELECT, di mana angka 1 pada MySQL berarti nilai true.

Jika record database Anda sangatlah besar, sangat rekomendasikan untuk mengindex kolom dalam database Anda. Hal tersebut akan mempercepat proses query dan cukup beberapa kolom saja yang Anda index yang nantinya akan Anda sering gunakan untuk Perintah SELECT

BAGIKAN

REAKSI PEMBACA


2 like

0 Love

0 Yeay

0 Wow

0 Sad

0 Angry

PANDUAN SERUPA

Cara Membuat Wallet ETC Di MyEtherWallet

Myetherwallet merupakan wallet ethereum classic dengan security terbaik untuk saat ini. wallet ini dapat anda ...

Cara Menggandakan Aplikasi Android

Android memiliki berbagai jenis aplikasi menarik yang bisa kita jumpai di playstore. Saking unik dan ...

Cara Membuat Link Internal Link Pada Blogspot (Blogger)

Salah satu aktivitas yang penting untuk dilakukan untuk meningkatkan jumalh page view (PV) pada blog ...

Tentang Kami | Hubungi Kami | Partnership
Term Of Use