mysql效能最佳化之table_cache

破棉襖發表於2015-05-11
宣告:在5.1.3之後的版本中改叫做table_open_cache。table_cache主要用於設定table快取記憶體的數量。由於每個客戶端連線都會至少訪問一個表,因此此引數的值與有關。


快取機制:

當某一連線訪問一個表時,MySQL會檢查當前已快取表的數量。如果該表已經在快取中開啟,則會直接訪問快取中的表已加快查詢速度;如果該表未被快取,則會將當前的表新增進快取並進行查詢。

在執行快取操作之前,table_cache用於限制快取表的最大數目:如果當前已經快取的表未達到table_cache,則會將新表新增進來;若已經達到此值,MySQL將根據快取表的最後查詢時間、查詢率等規則釋放之前的快取。


命令:



open_tables 為當前的快取表數量。
opened_tables 為歷史快取的數量總數。
執行flush tables後,會清空快取,open_tables會清0。

調優:
當open_tables的數量接近table_open_cache數量時,並且opened_tables的數量在不斷增加,此時就應該調整增加table_open_cache引數。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1648153/,如需轉載,請註明出處,否則將追究法律責任。

相關文章