2011-02-19 96 views
0

我正在運行一個網站遊戲。我沒有碰過任何東西,比如重新設置遊戲一年中的查詢緩存,我正在使用大約5000-110萬行,這取決於表格。所有東西都在不斷更新,並且正在插入表格中。如果我理解正確,每個插入或更新都會清除該表的緩存?這就是我在網上搜索的結果,我不知道這是真的,還是應該定期重置緩存。我應該定期重置QUERY CACHE嗎?

一個月前發生的查詢現在可能不再有用。因此,如果它存儲了這些查詢結果,那麼它是完全沒有價值的,因爲沒有人會再次運行同樣精確的查詢。

我跑SHOW STATUS LIKE 「Qcache%」,結果是:

Qcache_free_blocks 6941

Qcache_free_memory 23490288

Qcache_hits的253269763

Qcache_inserts 368937684

Qcache_lowmem_prunes 57410566

Qcache_not_cached 9872266

Qcache_queries_in_cache 35275個

Qcache_total_blocks 84877

我真的不知道這些事是什麼意思,或者如果他們在決定我是否需要重置緩存,甚至有用。提前致謝。

回答

0

本手冊不對您說謊,任何更改表中數據的查詢均會使引用該表的任何高速緩存條目無效。您永遠不必手動刷新緩存。

如果您的數據經常更新以至於查詢永遠不會在緩存中持續存在,或者同一查詢很少運行以至於無法緩存它,那麼您只是浪費大量內存和CPU時間來檢查並在每個INSERTUPDATE查詢上使緩存條目無效。通過關閉查詢緩存,您實際上可以看到性能提高。

+0

有沒有辦法關閉查詢緩存只爲選定的表?我的表中90%經常更新,以至於他們不需要查詢緩存,但其他10%可能永遠不會更新,因此查詢緩存可能對他們有用。 – Samir 2011-02-19 03:32:05