日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

跟进table_cache参数

發布時間:2024/4/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跟进table_cache参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看了hiro對于table cache的介紹,我也進行了一些相關的操作,發現一個有趣的現象。
mysql> show open tables;
+———–+————————–+——–+————-+
| Database? | Table??????????????????? | In_use | Name_locked |
+———–+————————–+——–+————-+
| bbs?????? | sql_access?????????????? |????? 0 |?????????? 0 |
| bbs?????? | sql_caches?????????????? |????? 0 |?????????? 0 |
| bbs?????? | sql_ranks????????????????? |????? 0 |?????????? 0 |
| bbs?????? | sql_modworks????????|????? 0 |?????????? 0 |
| bbs?????? | sql_adminnotes??????|????? 0 |?????????? 0 |
| bbs?????? | sql_p_w_picpathtypes???????|????? 0 |?????????? 0 |


| bbs?????? | sql_reportlog??????????? |????? 0 |?????????? 0 |
| bbs?????? | sql_searchindex?????? |????? 0 |?????????? 0 |
+———–+————————–+——–+————-+
120 rows in set (0.00 sec) mysql> show global status like ‘open_tables’;
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Open_tables?? | 124?? |
+—————+——-+
1 row in set (0.00 sec) 不知道大家有沒有發現,前者得到打開表的數量是120;后者卻是124。為什么會有這樣的不同呢? mysql> flush tables;
Query OK, 0 rows affected (0.17 sec)
而我在flush tables之后兩者的顯示結果又得到相同的value,都是11。
mysql> show global status like ‘open_tables’;
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Open_tables?? | 11??? |
+—————+——-+
1 row in set (0.00 sec) mysql> show open tables;
+———–+————————–+——–+————-+
| Database? | Table??????????????????? | In_use | Name_locked |
+———–+————————–+——–+————-+
| wordpress | wp_postmeta????????????? |????? 0 |?????????? 0 |
| wordpress | wp_wp_super_edit_options |????? 0 |?????????? 0 |
| wordpress | wp_terms???????????????? |????? 0 |?????????? 0 |
| wordpress | wp_options?????????????? |????? 0 |?????????? 0 |
| wordpress | wp_wp_super_edit_plugins |????? 0 |?????????? 0 |
| wordpress | wp_links???????????????? |????? 0 |?????????? 0 |
| wordpress | wp_usermeta????????????? |????? 0 |?????????? 0 |
| wordpress | wp_term_taxonomy???????? |????? 0 |?????????? 0 |
| wordpress | wp_posts???????????????? |????? 0 |?????????? 0 |
| wordpress | wp_users???????????????? |????? 0 |?????????? 0 |
| wordpress | wp_term_relationships??? |????? 0 |?????????? 0 |
+———–+————————–+——–+————-+
11 rows in set (0.00 sec) table_cache表示數據庫用戶打開表的緩存數量。每個連接進來,都會至少打開一個表緩存;那是不是說有些連接會打開兩個或多個,而使得兩者的結果略有差別呢?還有就是,我們都知道MySQL是個多線程數據庫,這樣也就會發生有多個不同的用戶同時對一個指定的表發出查詢請求,這樣也會增加open tables的數量,因為他們會各自獨立的去使用自己的表緩存。 我們都知道open_tables表示當前打開的表緩存數,是個不穩定紀錄,也就是說flush tables之后可以被清空;而opened_tables是一個牢固紀錄,不會因此而影響,而是會不斷的做有效累加。open_tables不能超過table_cach的上限,如果它變得很大或是增長太快,即便你還沒有去執行flush tables這個語句,最好的辦法是去增大table_cache的大小,因為有可能flush tables之后還是沒有效果。 關于table_cache的設置,我們的原則是要清楚系統能夠處理的由有table_cache所提供的打開文件描述符數量。如果它的值設置太大,MySQL可能會耗盡所有文件描述符,同時拒絕連接,使得執行查詢失敗;如果設置過于低,同樣也會影響MySQL的性能。一般來說,我們會通過open_tables的值去衡量table_cache的大小是否能夠滿足查詢需求;如果我們充足的內存,那么我們可以適當地去加大table_cache的值。 ulimit -a可以查看文件描述符。

轉載于:https://blog.51cto.com/tech110/269483

總結

以上是生活随笔為你收集整理的跟进table_cache参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。