Cara menggunakan have_query_cache mysql 8

Jika kita sering menggunakan query yang sama berulang – ulang di Mysql kita, maka setting query_cache_size di mysql mesti diperhatikan. Query_cache_size akan menyimpan query yang berulang,  sehingga akan mempercepat kerja MySQL untuk query yang sama.  Karena query yang sebelumnya disimpan dalam memory cache.

Cara mengaktifkan query cache di Mysql :
Lakukan pengecekan fasilitas query_cache Mysql kita dengan menuliskan :

SHOW VARIABLES LIKE  ‘ %query_cache%  ‘

Menghasilkan keterangan :
have_query_cache = yes
query_cache_type=on
query_cache_size = 0

query_cache_size bernilai 0 (nol) ,  sehingga meskipun query_cache aktif fitur query cache tidak akan berguna jika ukurannya masih Nol.

Cara memanfaatkan query_cache di Mysql :

  1. Edit file konfigurasi mysql  Anda (my.ini)
  2. Pada bagian [mysql] tambahkan baris berikut :
    set-variable=query_cache_size=64M
  3. Besarnya query_cache disesuaikan dengan resource komputer kita. Logikanya semakin besar query_cache akan semakin baik.
  4. Restart mysql kita.

Untuk membuktikan bahwa query_cache sudah berjalan ulangi langkah diatas dengan menuliskan :

SHOW VARIABLES LIKE  ‘ %query_cache%  ‘

Menghasilkan keterangan :
have_query_cache = yes
query_cache_type=on
query_cache_size = 67108864

Terlihat query_cache_size di mysql sudah bernilai 67108864 sesuai dengan yang sudah kita setting sebelumnya. Perlu diperhatikan pemberian nilai di query_cache_size merupakan kelipatan 2 (2n) misal 4,16,32,64 dst..

Semoga Bermanfaat

Skip to content

MySQL - Enable the Query cache

MySQL - Enable the Query cache

Would you like to learn how to enable the MySQL query cache feature? In this tutorial, we are going to show you how to configure the query cache to improve the performance of your MySQL server on a computer running Ubuntu Linux.

• Ubuntu 18.04
• MySQL 5.7.31

MySQL version 8 removed the support to query cache.

Equipment list

The following section presents the list of equipment used to create this tutorial.

As an Amazon Associate, I earn from qualifying purchases.

On this page, we offer quick access to a list of tutorials related to MySQL.

Tutorial MySQL - Enable the Query cache

Access the MySQL command-line.

Verify the MySQL query cache status.

Here is the command output.

In our example, the MySQL query cache feature is disabled.

Edit the MySQL configuration file.

Insert the following lines under the area named MYSQLD.

In our example, we enabled the MySQL query cache feature.

In our example, we limited the use of the cache to 100 Megabytes.

In our example, we set the maximum size of a single result set to 1 Megabyte.

Restart the MySQL service.

Verify the MySQL query cache status.

Here is the command output.

Verify details of the MySQL cache configuration.

Congratulations! You successfully enabled the MySQL query cache.

VirtualCoin CISSP, PMP, CCNP, MCSE, LPIC22021-02-07T05:00:10-03:00

Page load link

This website uses cookies and third party services. Ok

May 5, 2018in Blogs, Optimations

Optimasi MySQL dengan MySQL Query Cache. Pada kesempatan ini kami ingin membagi pengalaman kami dalam meng-optimasi query MySQL di GuestPro Cloud PMS. Latar belakang permasalahan yang dihadapi oleh GuestPro adalah bagaimana caranya mempercepat loading calendar chart dan dashboard yang sering diakses oleh client. Awalnya kami sempat berfikir untuk memasukkan query untuk calendar chart dan dashboard ke redis cache, namun coba – coba searching solusi lain dan ternyata MySQL memiliki fitur cache sendiri yaitu MySQL Query Cache. Akhirnya pilihan jatuh untuk menggunakan solusi ini. WOWnya akses calendar chart dan dashboard GuestPro Cloud PMS bisa 2-4x lebih cepat.

Introduction

Apa itu MySQL Query Cache? MySQL Query Cache merupakan fitur cache yang dimiliki oleh MySQL yang dapat digunakan untuk mempercepat proses query. Bahasa gampangnya fitur ini akan menyimpan query SELECT beserta hasil query kedalam cache.

Cara Kerja MySQL Query Cache

Sebelum menggunakan fitur ini, ada baiknya kita mengetahui cara kerja dari fitur ini. MySQL query cache akan menyimpan statement select beserta hasil querynya kedalam cache memory. Jika data/table dari query tersebut tidak ada perubahan, ketika ada query yang sama masuk, secara otomatis mysql akan mengembalikan hasil dari cache tersebut. ketika table dari query cache ter-update oleh statement insert/update/delete maka cache query tersebut akan di flush oleh mysql.

Cara menggunakan have_query_cache mysql 8

Yang menarik dari fitur ini adalah, ketika kita memiliki query yang sering diakses oleh user dan frekuensi perubahan datanya cukup rendah. fitur ini sangat membantu karena hasil querynya langsung dikembalikan dari cache tanpa harus melewati parsing dan fetching dari disk. sangat membantu untuk meningkatkan performa aplikasi.

Hasil dari optimasi ini sangat berpengaruh dari infrastruktur penunjang dari database anda, tentunya besar dari RAM sangat berpengaruh. tenang, anda bisa mengatur besar memory yang digunakan oleh query cache sehingga fitur ini tidak akan membuat server anda mengalami memory overhead.

Cara Setup MySQL Query Cache

Setelah mengerti cara kerja Query Cache, yuk kita coba config fitur ini. cara untuk mengaktifkan fitur query cache ini sangat mudah. sebelumnya kita perlu cek apakah MySQL kita support fitur ini dengan command berikut :

mysql>SHOWVARIABLESLIKE'have_query_cache';

+------------------+-------+

|Variable_name    |Value|

+------------------+-------+

|have_query_cache|YES   |

+------------------+-------+

1rowinset(0.00sec)

Jika valuenya ‘YES’ Selamat anda bisa menggunakan fitur ini, kita akan menambahkan setingan kedalam config mysql kita, silahkan buka config mysql anda, biasanya ada di direktory ‘/etc/mysql/mysql.conf.d/mysqld.cnf’ jika menggunakan ubuntu, dan tambahkan line berikut :

# CACHE #

query_cache_size=256000#256MB cache size

query_cache_type=1      #set query cache ON

Setelah itu restart MySQL untuk melihat perubahannya. untuk melihat apakah perubahan yang kita lakukan sudah berjalan, silahkan masukkan command berikut ke mysql :

mysql>SHOWVARIABLESLIKE'query_cache_type';

+------------------+-------+

|Variable_name    |Value|

+------------------+-------+

|query_cache_type|ON    |

+------------------+-------+

1rowinset(0.01sec)

mysql>SHOWVARIABLESLIKE'query_cache_size';

+------------------+--------+

|Variable_name    |Value  |

+------------------+--------+

|query_cache_size|256000|

+------------------+--------+

1rowinset(0.00sec)

Jika Value query_cache_type sudah ON dan cache size sudah sesuai dengan yang kita masukkan tadi, Selamat… Query Cache anda sudah aktif. silahkan coba untuk menjalankan query select dan lihat perbedaannya :-).

Untuk memonitor performa dari Query Cache anda bisa menggunakan command berikut :

mysql>SHOWSTATUSLIKE"qcache%";

+-------------------------+--------+

|Variable_name           |Value  |

+-------------------------+--------+

|Qcache_free_blocks      | 17     |

|Qcache_free_memory      |43808  |

|Qcache_hits             |231874|

|Qcache_inserts          |251288|

| Qcache_lowmem_prunes    |145221|

|Qcache_not_cached       |449675|

|Qcache_queries_in_cache|50     |

|Qcache_total_blocks     |154    |

+-------------------------+--------+

8rowsinset(0.00sec)

Cukup mudah bukan?

Hasil Optimasi MySQL Query Cache

Wow… sangat memuaskan. hanya dengan mengaktifkan fitur ini kecepatan query ngebut hingga 30x lipat. berikut salah satu query yang cukup berat kami jalankan dan hasilnya :

Selecttanpacache

/* Affected rows: 0 Found rows: 300 Warnings: 0 Duration for 1 query: 3.110 sec. */

Selectdengancache

/* Affected rows: 0 Found rows: 300 Warnings: 0 Duration for 1 query: 0.125 sec.  */

Kesimpulan

Kadang mencari solusi yang kita anggap sangat susah ternyata sudah ada solusinya yang sangat simple. terbukti dengan Optimasi MySQL dengan MySQL Query Cache akses calendar chart dan dashboard GuestPro Cloud PMS bisa 2-4x lebih cepat.

Next :

  • Optimasi Reporting dengan Query Reporting ke Read Replica

Referensi :

  • https://www.dbrnd.com/2015/08/mysql-query-cache/

Wisnu Sudarmadi

Programmer juga nyambi di bidang system dan infrastuktur. Berpengalaman sebagai System Engineer sejak tahun 2013. Selama beberapa tahun terakhir bekerja di salah satu Bank BUMN.