ล้างแคชคิวรี MySQL โดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์


162

มีวิธีการล้างแคชแบบสอบถาม MySQL โดยไม่ต้องเริ่มเซิร์ฟเวอร์ mySQL อีกหรือไม่

คำตอบ:


218

ฉันเชื่อว่าคุณสามารถใช้ ...

RESET QUERY CACHE;

... หากผู้ใช้ที่คุณกำลังใช้งานมีสิทธิ์โหลดซ้ำ หรือคุณสามารถจัดเรียงข้อมูลแคชแบบสอบถามผ่าน ...

FLUSH QUERY CACHE;

ดูหัวข้อสถานะแคชและการบำรุงรักษาของคู่มือ MySQL สำหรับข้อมูลเพิ่มเติม


27
RESET QUERY CACHE จะล้างแคชคิวรี่ แต่ต้องการสิทธิ์ RELOAD ล้างแคชแบบสอบถามไม่ได้ล้างแคชแบบสอบถามมันก็ defrags มันออกจากผลการสืบค้นแคชในสถานที่
carpii

สิ่งนี้ช่วยได้จริงๆ เรากำลังใช้ NodeJS กับ MySQL โดยใช้พูลที่มีคนรู้จัก 10 คน เรากำลังเผชิญปัญหาของข้อมูลที่ถูกเขียนโดยการเชื่อมต่อหนึ่งและอ่านโดยอื่นและมันก็แคชอย่างหนัก อันนี้ดูเหมือนจะช่วยได้มาก ขอบคุณ
psuhas

2
ด้วยเหตุผลบางอย่างRESET QUERY CACHEจริง ๆ แล้วไม่ชัดเจนสำหรับฉัน นอกจากนี้การรีสตาร์ทเซิร์ฟเวอร์ MySQL ก็ไม่ได้ช่วยอะไร ชัดเจนSELECT SQL_NO_CACHEไม่หลอกลวง RESET QUERY CACHEแต่ไม่ sync && echo 3 | sudo tee /proc/sys/vm/drop_cachesจากคำตอบอื่น ๆ ก็ไม่ได้ช่วยเช่นกัน
Jānis Elmeris

1
และการรีสตาร์ทเครื่องก็ไม่ได้ช่วยอะไรเช่นกัน
Jānis Elmeris

45

ในระบบของฉัน (Ubuntu 12.04) ฉันพบRESET QUERY CACHEและรีสตาร์ทเซิร์ฟเวอร์ mysql ไม่เพียงพอ นี่คือสาเหตุที่หน่วยความจำดิสก์แคช
หลังจากการค้นหาแต่ละครั้งฉันจะล้างแคชดิสก์ในเทอร์มินัล:

sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

จากนั้นรีเซ็ตคิวรีแคชในไคลเอนต์ mysql:

RESET QUERY CACHE;

2
โปรดทราบว่า "Query cache" ใน MySQL ไม่ใช่หน้า / บล็อกแคชทั่วไป มันเป็นแคชของผลลัพธ์ของการสืบค้น ไม่มีประโยชน์เสมอไป - เราไม่ได้ใช้ dev.mysql.com/doc/refman/5.6/th/query-cache.html
phil_w

@phil_w มีวิธีการรีเซ็ตแคชของหน้า / บล็อก mysql ใช้โดยไม่ต้องเริ่ม mysql ใหม่และล้างแคช (linux) OS หรือไม่
matanster

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.