<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[MySQL中Table Cache的相关优化]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Fri, 18 Mar 2011 05:46:13 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp; MySQL打开表的相关机制：在MySQL中每个线程都是独立打开自己需要的表的文件描述符，而不是通过共享已经打开的表的文件描述符。针对不同的存储引擎可能有不同的处理方式。如MyISAM表，每一个客户端线程打开任何一个MyISAM表的数据文件都哟啊打开一个文件描述符，但如果是索引文件，则可以多个线程共享同一个索引文件的描述符。对于InnoDB的存储引擎，如果使用的是共享表空间来存储数据，则打开的文件描述符就比较少，但如果使用的是独享表空间方式则打开的文件描述符则较多。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MySQL在系统中实现了一个Table Cache机制，和Thread Cache机制有点类似。主要就是Cache打开所有表文件的描述符，当有新的请求时不需要重新的打开，使用结束时也不用立即关闭。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看table_cache的设置和当前系统中的使用状况：<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show variables like 'table_cache';<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.dzhope.com/attachment.php?fid=55" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=55" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;show status like 'open_tables';<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.dzhope.com/attachment.php?fid=56" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=56" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示系统设置的table_cache为764个，在该MySQL中，Table Cache内可以缓存764个打开文件的描述符；当前系统中打开的描述符仅有0个。 <br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此外还有Sort Buffer、Join Buffer和Read Buffer等<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;show&nbsp;&nbsp; variables like '%buffer%';<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;每个Thread都会创建自己独立的Buffer，而不是整个系统共享的Buffer，不要因为设置过大而造成系统内存不足。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;摘自：《MySQL性能调优与架构设计》<br/><br/> <br/><br/><br/>Tags - <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a> , <a href="http://www.dzhope.com/tags/table_cache/" rel="tag">table_cache</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] MySQL中Table Cache的相关优化]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>