欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL性能優(yōu)化之table_cache配置參數(shù)淺析

 更新時間:2014年07月04日 10:13:55   作者:忙碌的松鼠  
這篇文章主要介紹了MySQL性能優(yōu)化之table_cache配置參數(shù)淺析,本文介紹了它的緩存機制、參數(shù)優(yōu)化及清空緩存的命令等,需要的朋友可以參考下

table_cache是一個非常重要的MySQL性能參數(shù),它在5.1.3之后的版本中叫做table_open_cache。table_cache主要用于設置table高速緩存的數(shù)量。由于每個客戶端連接都會至少訪問一個表,因此此參數(shù)的值與max_connections有關(guān)。

緩存機制

當某一連接訪問一個表時,MySQL會檢查當前已緩存表的數(shù)量。如果該表已經(jīng)在緩存中打開,則會直接訪問緩存中的表已加快查詢速度;如果該表未被緩存,則會將當前的表添加進緩存并進行查詢。

在執(zhí)行緩存操作之前,table_cache用于限制緩存表的最大數(shù)目:如果當前已經(jīng)緩存的表未達到table_cache,則會將新表添加進來;若已經(jīng)達到此值,MySQL將根據(jù)緩存表的最后查詢時間、查詢率等規(guī)則釋放之前的緩存。

參數(shù)調(diào)優(yōu)

一般來說,可以在phpmyadmin中查看Open_tables與Opened_tables的值,也可以執(zhí)行

復制代碼 代碼如下:
mysql> show global status like 'open%_tables';

查看當前的open_tables情況,如圖:

來查看這兩個參數(shù)的值。其中Open_tables是當前正在打開表的數(shù)量,Opened_tables是所有已經(jīng)打開表的數(shù)量。

如果Open_tables的值已經(jīng)接近table_cache的值,且Opened_tables還在不斷變大,則說明mysql正在將緩存的表釋放以容納新的表,此時可能需要加大table_cache的值。對于大多數(shù)情況,

比較適合的值:

復制代碼 代碼如下:

Open_tables / Opened_tables >= 0.85
Open_tables / table_cache <= 0.95

如果對此參數(shù)的把握不是很準,VPS管理百科給出一個很保守的設置建議:把MySQL數(shù)據(jù)庫放在生產(chǎn)環(huán)境中試運行一段時間,然后把參數(shù)的值調(diào)整得比Opened_tables的數(shù)值大一些,并且保證在比較高負載的極端條件下依然比Opened_tables略大。

清空緩存

執(zhí)行

復制代碼 代碼如下:
mysql > flush tables;

命令將會清空當前所有緩存的表。

相關(guān)文章

最新評論