Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Haruskah saya mengorbankan innodb_buufer_pool _size/RAM saya untuk memberi ruang bagi query_cache_size ?

Kembali pada Juni 2014 saya menjawab https://dba.stackexchange.com/questions/66774/why-query-cache-type-is-disabled-by-default-start-from-mysql-5 -6/66796#66796

Dalam postingan tersebut, saya membahas bagaimana InnoDB melakukan micromanage perubahan antara InnoDB Buffer Pool dan Query Cache.

TIDAK MENGGUNAKAN CACHE QUERY

Jawaban paling sederhana adalah dengan menonaktifkan cache kueri, tetapi ada masalah:Anda harus mengatur keduanya query_cache_size dan query_cache_type ke nol(0).

Jika Anda tidak menyetel query_cache_type ke nol (0), manajemen mikro perubahan masih terjadi. Ini diverifikasi oleh Paragraf 8 MySQL Dokumentasi "Konfigurasi Tembolok Kueri" mengatakan

MENGUNAKAN CACHE QUERY

Jika Anda benar-benar ingin menggunakan Query Cache, maka Anda perlu mempelajari data Anda. Pada dasarnya, Anda perlu mengetahui ukuran hasil Anda. Anda kemudian akan menyetel query_cache_limit dan query_cache_min_res_unit untuk mengakomodasi kumpulan hasil ukuran rata-rata serta kumpulan hasil ukuran maksimum.

Sebagai alternatif, Anda dapat mengaktifkan Cache Kueri secara global tetapi menonaktifkan penggunaannya dari Sesi DB Anda seperti yang dinyatakan dalam Paragraf 9 :

PERTANYAAN SEBENARNYA ANDA

Tembolok Kueri, Kumpulan Penyangga InnoDB, Per Utas Koneksi (Lihat posting saya https://dba.stackexchange.com/questions/16969/how-costly-is-opening-and-closing-of-a-db-connection/ 16973#16973 ), dan OS semuanya bersaing untuk mendapatkan RAM.

Saat melihat hanya Query Cache dan InnoDB Buffer Pool, Anda perlu melihat berapa banyak ruang kosong di InnoDB Buffer Pool setelah MySQL berjalan selama berhari-hari atau berminggu-minggu.

Anda dapat menjalankan kueri ini

SELECT variable_value / 64 free_mb
FROM information_schema.global_status
WHERE variable_name='Innodb_buffer_pool_pages_free';

Ini akan memberi tahu Anda seberapa banyak Anda dapat menurunkan InnoDB Buffer Pool. Anda kemudian dapat meningkatkan Cache Kueri dengan ukuran itu. Jika kueri ini mengembalikan kurang dari 1024, itu mungkin tidak sepadan dengan usaha. Anda akan mendapatkan ruang tambahan dari RAM atau hanya menonaktifkan Query Cache.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menampilkan � bukannya £

  2. Menggunakan Karakter Cina untuk Memberi Nama Tabel MySQL

  3. Mendapatkan kesalahan Saat mencoba Mengisi Dropdown HTML Dengan data Mysql di Jawa?

  4. Pagination untuk menunjukkan nilai maksimal dan membatasi sisanya

  5. masalah pengkodean basis data? Kutipan ganda dan tunggal ditampilkan dengan tanda tanya