Rabu, 06 Juni 2012

MENINGKATKAN PERFORMA QUERY



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.

Tidak ada komentar:

Posting Komentar