Mengoptimalkan dan Memepercepat Query MySQL

Kadang dalam suatu aplikasi kita melakukan query select data padatabel yang sama dan dilakukan berulang-ulang, hal ini akan sangatmembebani MYSQL. Dalam MYSQL terdapat fitur yang bagus untukmempercepat query mysql dengan mengaktifkan query cache. Apabila fitur ini diaktifkan setiap query akan di cache di memory dan ini akan meningkatkan query performance.

Untuk mengaktifkan query cache, kita perlu menambahkan beberapa baris options di mysql configuration file (my.cnf) :

1 set query_cache_type = 1. (ada beberapa nilai yang mungkin : 0 (disable / off), 1 (enable / on) and 2 (on demand).

query-cache-type = 1

2 set query_cache_size = sesuai kemampuan RAM, yang direkomendasikan 20MB.

query-cache-size = 20M

Jika kita memeilih query-cache-type = 2 ( on demand ), anda perlu mengedit perintah query agar support cache, misal :

SELECT SQL_CACHE field1, field2 FROM table1 WHERE field3 = 'yes'

Untuk mengecek apakah query cache sudah aktif, jalan lakukan perintah berikut :

SHOW VARIABLES LIKE '%query_cache%';

Hasil nya :

+——————-+———+

| Variable_name | Value |

+——————-+———+

| have_query_cache | YES |

| query_cache_limit | 1048576 |

| query_cache_size | 20971520 |

| query_cache_type | ON |

+——————-+———+

4 rows in set (0.06 sec)

Untuk mengecek apakah query cache bisa berjalan dengan baik, caranyalakukan 2 kali query yang sama dan cek variable berikut di MYSQL :

SHOW STATUS LIKE '%qcache%';

+————————-+———-+

| Variable_name | Value |

+————————-+———-+

| Qcache_queries_in_cache | 1 |

| Qcache_inserts | 3 |

| Qcache_hits | 0 |

| Qcache_lowmem_prunes | 0 |

| Qcache_not_cached | 2 |

| Qcache_free_memory | 20947592 |

| Qcache_free_blocks | 1 |

| Qcache_total_blocks | 4 |

+————————-+———-+

sumber