Mysql

了解 MySQL 查詢記憶體以及何時實現它?

  • November 18, 2011

在我們目前的 MySQL 伺服器上啟用了查詢記憶體。

Qchache_hits: 31913 
Qchache_inserts: 50959
Qchache_lowmem_prunes: 9320
Qchache_not_chached: 209320
Qchache_queries_in_chace: 986

com_update: 0
com_delete: 0
com_Select: 10

我不完全理解查詢記憶體 - 我目前正在閱讀它並試圖理解它。

我們的數據庫包含庫存數據、客戶數據、員工數據、銷售數據等。查詢很少執行超過一次。查詢執行兩次的可能性是查看特定的銷售資訊兩次。但基本上我們系統中的一切都在不斷變化。它總是被更新、刪除、插入並且從我的腦海中消失我無法想像使用者在一周內兩次執行相同的查詢。

我什至需要啟用查詢記憶體嗎?我猜插入意味著添加了 51k 個條目,但其中只有 986 個被儲存?

是否有一個想法是刷新記憶體,並觀察一周,然後檢查記憶體中的查詢有多少被訪問,看看它是否真的返回了任何好處?

對此的任何幫助/指導表示讚賞,謝謝

是的,添加了 51k 個條目,現在只有 986 個。所以大約有 50k 條目被添加到記憶體中,但不再存在,其中 9k 是因為記憶體中的記憶體不足,其餘的是因為插入/更新使記憶體條目無效。Com_select 是一個參數,當您嘗試確定您是否獲得福利時,該參數對了解該參數很有用。但實際上,這主要取決於記憶體了哪些查詢。

如果您正在執行您確定不會從記憶體中受益的 select 語句,您可以將 SQL_NO_CACHE 添加到 select 語句中,請參閱此處的文件

我建議閱讀這篇文章(以及一般的部落格)。

引用自:https://serverfault.com/questions/332478