Bagaimana untuk mengosongkan cache pangkalan data dalam mysql 8 innodb
P粉571233520
P粉571233520 2023-08-27 23:46:28
0
2
526

Saya cuba menjalankan pertanyaan yang sama beberapa kali pada pangkalan data dan jadual mysql 8 yang sama.

Saya perlu mencuba untuk menentukan sama ada penalaan pertanyaan dan/atau jadual itu sendiri boleh meningkatkan prestasi. Walau bagaimanapun, selepas percubaan pertama, masa tindak balas adalah lebih cepat, saya fikir kerana data dicache.

mysql 8 innodb

Apakah pilihan yang saya ada untuk mengosongkan cache untuk mendapatkan data dari awal.


Nampaknya jawapan yang dicadangkan sebelum ini semuanya berkaitan dengan mysql 5, bukan mysql 8. Kebanyakan arahan nampaknya telah ditamatkan sekarang.

Kosongkan cache pertanyaan MySQL tanpa memulakan semula pelayan

P粉571233520
P粉571233520

membalas semua (2)
P粉195402292

Jika pertanyaan adalah pertanyaan yang kerap dijalankan dalam pengeluaran, maka saya rasa matlamat anda ketinggalan. Saya cadangkan anda harus menjalankan pertanyaan dua kali dan menggunakan masa pertanyaan kedua. Dengan cara ini, ia lebih dekat dengan pengeluaran yang akan dilihat - data sudah ada dalam cache.

(Bill menerangkan bahawa "cache pertanyaan" tidak penting, "kolam penampan" tidak penting.)

Ini adalah teknik yang saya suka untuk menguji pertanyaan tanpa perlu membina jadual yang cukup besar untuk melihat perubahan dari semasa ke semasa:

FLUSH STATUS; SELECT ...; SHOW SESSION STATUS LIKE 'Handler%';

Nombor ini ialah bilangan sebenar bacaan/tulisan data atau baris indeks. Nombor itu mungkin kelihatan seperti bilangan baris keluaran, bilangan baris dalam jadual, dsb. Ini memberitahu anda jika terdapat, sebagai contoh, imbasan jadual penuh (atau indeks). Nilai "Handler_write%" bukan sifar menunjukkan bahawa jadual (atau jadual) sementara diperlukan.

Lihat jugaEXPLAIN ANALYZEjika versi anda tersedia.

Lagi Petua:Resipi Indeks

    P粉805931281

    Soalan yang anda pautkan adalah mengenai cache pertanyaan, yang telah dialih keluar dalam MySQL 8.0, jadi tidak perlu mengosongkannya lagi.

    Perkataan anda mencadangkan anda bertanya tentang kumpulan penimbal, yang berbeza daripada cache pertanyaan. Kolam penimbal menyimpan data dan halaman indeks, manakala cache pertanyaan (jika ada) menyimpan hasil pertanyaan.

    Tiada arahan untuk mengosongkan kolam penimbal tanpa memulakan semula pelayan MySQL. Halaman kekal dicache dalam kumpulan penimbal sehingga diusir oleh halaman lain.

    Kolam penimbal terletak dalam RAM, jadi jika proses pelayan MySQL dimulakan semula, kandungannya akan dikosongkan. Oleh itu, jika anda ingin bermula dari awal, anda perlu memulakan semula proses (anda tidak perlu memulakan semula keseluruhan sistem pengendalian, hanya mulakan semula perkhidmatan MySQL).

    Perlu diingat bahawa dalam MySQL 8.0, kandungan kumpulan penimbal tidak akan dikosongkan sepenuhnya apabila dimulakan semula. Peratusan kandungan kumpulan penimbal disimpan semasa penutupan dan dimuat semula secara automatik semasa permulaan. Ciri ini didayakan secara lalai, tetapi anda boleh memilih untuk melumpuhkannya.

    Ketahui lebih lanjut tentang ini:

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!