跟进table_cache参数
生活随笔
收集整理的這篇文章主要介紹了
跟进table_cache参数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
看了hiro對(duì)于table cache的介紹,我也進(jìn)行了一些相關(guān)的操作,發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象。
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) 不知道大家有沒有發(fā)現(xiàn),前者得到打開表的數(shù)量是120;后者卻是124。為什么會(huì)有這樣的不同呢? mysql> flush tables;
Query OK, 0 rows affected (0.17 sec)
而我在flush tables之后兩者的顯示結(jié)果又得到相同的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表示數(shù)據(jù)庫用戶打開表的緩存數(shù)量。每個(gè)連接進(jìn)來,都會(huì)至少打開一個(gè)表緩存;那是不是說有些連接會(huì)打開兩個(gè)或多個(gè),而使得兩者的結(jié)果略有差別呢?還有就是,我們都知道MySQL是個(gè)多線程數(shù)據(jù)庫,這樣也就會(huì)發(fā)生有多個(gè)不同的用戶同時(shí)對(duì)一個(gè)指定的表發(fā)出查詢請(qǐng)求,這樣也會(huì)增加open tables的數(shù)量,因?yàn)樗麄儠?huì)各自獨(dú)立的去使用自己的表緩存。 我們都知道open_tables表示當(dāng)前打開的表緩存數(shù),是個(gè)不穩(wěn)定紀(jì)錄,也就是說flush tables之后可以被清空;而opened_tables是一個(gè)牢固紀(jì)錄,不會(huì)因此而影響,而是會(huì)不斷的做有效累加。open_tables不能超過table_cach的上限,如果它變得很大或是增長(zhǎng)太快,即便你還沒有去執(zhí)行flush tables這個(gè)語句,最好的辦法是去增大table_cache的大小,因?yàn)橛锌赡躥lush tables之后還是沒有效果。 關(guān)于table_cache的設(shè)置,我們的原則是要清楚系統(tǒng)能夠處理的由有table_cache所提供的打開文件描述符數(shù)量。如果它的值設(shè)置太大,MySQL可能會(huì)耗盡所有文件描述符,同時(shí)拒絕連接,使得執(zhí)行查詢失敗;如果設(shè)置過于低,同樣也會(huì)影響MySQL的性能。一般來說,我們會(huì)通過open_tables的值去衡量table_cache的大小是否能夠滿足查詢需求;如果我們充足的內(nèi)存,那么我們可以適當(dāng)?shù)厝ゼ哟髏able_cache的值。 ulimit -a可以查看文件描述符。
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) 不知道大家有沒有發(fā)現(xiàn),前者得到打開表的數(shù)量是120;后者卻是124。為什么會(huì)有這樣的不同呢? mysql> flush tables;
Query OK, 0 rows affected (0.17 sec)
而我在flush tables之后兩者的顯示結(jié)果又得到相同的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表示數(shù)據(jù)庫用戶打開表的緩存數(shù)量。每個(gè)連接進(jìn)來,都會(huì)至少打開一個(gè)表緩存;那是不是說有些連接會(huì)打開兩個(gè)或多個(gè),而使得兩者的結(jié)果略有差別呢?還有就是,我們都知道MySQL是個(gè)多線程數(shù)據(jù)庫,這樣也就會(huì)發(fā)生有多個(gè)不同的用戶同時(shí)對(duì)一個(gè)指定的表發(fā)出查詢請(qǐng)求,這樣也會(huì)增加open tables的數(shù)量,因?yàn)樗麄儠?huì)各自獨(dú)立的去使用自己的表緩存。 我們都知道open_tables表示當(dāng)前打開的表緩存數(shù),是個(gè)不穩(wěn)定紀(jì)錄,也就是說flush tables之后可以被清空;而opened_tables是一個(gè)牢固紀(jì)錄,不會(huì)因此而影響,而是會(huì)不斷的做有效累加。open_tables不能超過table_cach的上限,如果它變得很大或是增長(zhǎng)太快,即便你還沒有去執(zhí)行flush tables這個(gè)語句,最好的辦法是去增大table_cache的大小,因?yàn)橛锌赡躥lush tables之后還是沒有效果。 關(guān)于table_cache的設(shè)置,我們的原則是要清楚系統(tǒng)能夠處理的由有table_cache所提供的打開文件描述符數(shù)量。如果它的值設(shè)置太大,MySQL可能會(huì)耗盡所有文件描述符,同時(shí)拒絕連接,使得執(zhí)行查詢失敗;如果設(shè)置過于低,同樣也會(huì)影響MySQL的性能。一般來說,我們會(huì)通過open_tables的值去衡量table_cache的大小是否能夠滿足查詢需求;如果我們充足的內(nèi)存,那么我們可以適當(dāng)?shù)厝ゼ哟髏able_cache的值。 ulimit -a可以查看文件描述符。
轉(zhuǎn)載于:https://blog.51cto.com/tech110/269483
總結(jié)
以上是生活随笔為你收集整理的跟进table_cache参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的选车经历--学习比经验更重要
- 下一篇: 命令行下一种新的加帐号的方法