Tuning MySQL

tuning mysqlBelakangan ini performa MySQL agak menurun, gara-gara nggak bisa nambah memori di hosting (xixixi memori mahal banget), jadi mau nggak mau harus optimasi hal lainnya selain hardware. Ini sih sebenernya mental note aja, tapi mungkin artikel tuning mysql ini manfaatnya bagi yang membaca blog saya (tentunya yang ngerti MySQL).

Akhirnya nemu juga nih video di Google, yang judulnya Performance Tuning Best Practice for MySQL. Warning: bukan untuk pemula lho, Anda harus tau tentang basic SQL dan cara kerja MySQL.

PS: Wah nonton video ini kayak mengulang kembali kuliah dalam 40 menit hehehehe.

Kasus INSERT:

Beberapa hari yang lalu saya coba untuk melakukan insert (2.6jt row) ke dalam tabel MyISAM (jangan tanya ya data segede itu buat apaan hehehe). Untung sih pake MyISAM, jadi ini yang saya lakukan supaya lebih cepet masuknya (lumayan cepet kurang dari 3 menitan di laptop). Jadi ini yang saya lakukan:

  1. Drop index. Biar cepet dah.
  2. Pake bulk insert. Buat yang ga tau sih syntaxnya:
    INSERT INTO tablename VALUES (...,...),(...,...),dst.
  3. Masukin lagi indexnya. Beres dah.

Kesimpulan: Kenapa bisa cepet? Soalnya index di drop + pake bulk insert daripada pake for-loop.

Kasus SELECT:

Kalo yang ini lain lagi, tergolong mudah sih (kecuali kalo mau optimasi index…bah satu buku sendiri tuh). Gara-gara udah 1.2jt-an row, mesti optimasi indexing. Ini sih yang saya lakuin buat optimasi index:

  1. Hidupin slow log query.
  2. Monitor deh apa aja yang slow SQLnya.
  3. Tambahin index-index mana yang perlu ditambah. Buat ngecek apakah query make index bisa dilihat pake syntax EXPLAIN.
  4. Hidupin Query Cache.

Kesimpulan: Kenapa bisa cepet? Soalnya mengcover index-index yang diperlukan buat mempercepat pembacaan tabel untuk query. Query Cache digunakan untuk menyimpan query-query yang berulang-ulang sehingga MySQL tinggal membaca query cache ini daripada memproses kembali query.

Posting Menarik Lainnya:

  1. Tuning SQL Performance untuk WordPress: Data Mining
  2. MySQL Group By Optimization
  3. Upgrading Lock MySQL
  4. Keuntungan Tuning Database
  5. MySQL Order By RAND() Optimization
  6. Optimasi MySQL – Table Komentar WordPress
  7. INSERT DELAYED ON DUPLICATE KEY UPDATE
  8. MySQL Order By Count LIMIT Optimization
  9. Tips Optimasi Select Query di MySQL #1
  10. Optimasi MySQL Left Outer Join

3 Responses to “Tuning MySQL”

  1. [...] pula loading blog WordPress Anda. Bila Anda telah mengaktifkan slow log query dan telah melakukan tuning MySQL Anda masih belum menghasilkan performa yang memuaskan, saatnya untuk menaikkan tuning SQL Anda ke [...]

  2. [...] satu cara untuk mempercepat loading website adalah dengan mengoptimasi tuning MySQL Anda. Tuning MySQL ini bisa dilakukan dengan dua cara, yaitu dengan mengutak-atik parameter [...]

  3. bagus says:

    artikel yang bagus ini…. makasih

Leave a Reply