程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 調整table_cache

調整table_cache

編輯:關於MYSQL數據庫
mysql查詢tables cache的最大數: show variables like 'table_cache';MySQL查詢當前系統已經打開的描述符命令: show status like 'open_tables';

table_cache 參數設置表高速緩存的數目。每個連接進來,都會至少打開一個表緩存。因此, table_cache 的大小應與 max_connections 的設置有關。例如,對於 200 個並行運行的連接,應該讓表的緩存至少有 200 × N ,這裡 N 是應用可以執行的查詢的一個聯接中表的最大數量。此外,還需要為臨時表和文件保留一些額外的文件描述符。 當 Mysql 訪問一個表時,如果該表在緩存中已經被打開,則可以直接訪問緩存;如果還沒有被緩存,但是在 MySQL 表緩沖區中還有空間,那麼這個表就被打開並放入表緩沖區;如果表緩存滿了,則會按照一定的規則將當前未用的表釋放,或者臨時擴大表緩存來存放,使用表緩存的好處是可以更快速地訪問表中的內容。 執行 flush tables 會清空緩存的內容。一般來說,可以通過查看數據庫運行峰值時間的狀態值 Open_tables 和 Opened_tables ,判斷是否需要增加 table_cache 的值(其中 open_tables 是當前打開的表的數量, Opened_tables 則是已經打開的表的數量)。即如果open_tables接近table_cache的時候,並且Opened_tables這個值在逐步增加,那就要考慮增加這個值的大小了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved