MENINGKATKAN KINERJA MySQL DI LINUX
0LEH : FIRRAR UTDIRARTATMO DALAM BUKUNYA ‘MySQL
DILINUX DAN WINDOWS’
Untuk memungkinkan pengguna mesin multiprocessor, harus digunakan Solaris (penanganan thread yang bagus) atau Linux (kernel 2.2). Hapus semua swap. Pergunakan option –skip-locking pada MySQL untuk menghindari locking internal. Matikan server sebelum menjalankan myisamchk.
Membuat table besar pada database yang sama akan merugikan, operasi open, close, dan create akan menjadi lambat.
Tips agar system bekerja lebih cepat :
1. Pergunakan persistent connection ke database untuk menghindari overhead koneksi.
2. Selalu memeriksa semua query mempergunakan indeks yang dibuat pada table. Di MySQL bisa mempergunakan perintah EXPLAIN.
3. Menghindari query SELECT yang kompleks pada table yang sering update, untuk menghindari table locking.
4. Tabel MyISAM bisa menyisipkan baris baru ke dalam suatu table tanpa menghapus barisnya disaat yang sama.
5. Pergunakan ALTER TABLE…ORDER BY exper1, exper2… Kemungkinan akan meningkatkan kinerja setelah melakukan perubahan besar.
6. Menghindari kolom VARCHAR atau BLOB, karena kolomnya akan dinamis dan panjang.
7. Lebih baik memperkenalkan table baru dan melakukan update counter.
8. Jika perlu mengumpulkan statistic dari table log yang besar, pergunakan summary.
9. Strored procedure atau UDF (user defined function) salah satu cara meningkatkan kinerja MySQL.
10. Meningkatka kinerja MySQL dengan caching query dan melakukan banyak insert/update pada saat yang sama.
11. Pergunakan INSERT/*! DELAYED*/ bila belum mengetahui kapan data dibuat.
12. Pergunakan INSERT/*! LOW_PRIORITY*/ saat ingin pilihan menjadi lebih penting.
13. Pergunakan INSERT/*HIGH_PRIORITY*/ untuk memilih meloncati antrian.
14. Pergunakan LOAD DATA INFILE untuk memuat sejumlah besar data.
15. Pergunakan AUTO_INCREMENT pada kolom untuk membuat nilai yang unik.
16. Pergunakan OPTIMIZE TABLE sekali dalam satu saat untuk menghindari fragmentasi.
17. Pergunakan table HEAP bila diperlukan.
18. Bila mempergunakan setup web server normal, image disimpan dalam file, referensinya saja yang disimpan di database.Web server melakukan caching lebih bagus.
19. Untuk membuat portable usahakan tidak melebihi 18 karakter.
20. Jika memerlukan kecepatan tinggi, harus melihat interface level rendah untuk menyimpan data yang berbeda dari daya dukung server.
21. Lebih cepat mengakses data dari database daripada dari file.
22. Pergunakan replikasi untuk meningkatkan kecepatan.
23. Mendeklarasikan table dengan DELAY_KEY_WRITE=1 akan membuat update dari indeks lebih cepat, karena baru dicatat saat file ditutup.