Mysql必读Mysql优化调优中两个重要参数table_cache和key_buffer
《Mysql必读Mysql优化调优中两个重要参数table_cache和key_buffer》要点: 本文根据作者的一点经验,讨论了Mysql服务器优化中两个非常重要的参数,分别是table_cache,key_buffer_size.MYSQL数据库 table_cache指示表高速缓存的大小.当Mysql拜访一个表时,如果在Mysql表缓冲区中还有空间,那么这个表就被打开并放入表缓冲区,这样做的好处是可以更快速地拜访表中的内容.一般来说,可以通过查看数据库运行峰值时间的状态值Open_tables和Opened_tables,用以判断是否需要增加table_cache的值,即如果open_tables接近table_cache的时候,并且Opened_tables这个值在逐步增加,那就要考虑增加这个值的大小了.MYSQL数据库 在mysql默认安装情况下,table_cache的值在2G内存以下的机器中的值默认时256到512,如果机器有4G内存,则默认这个值是2048,但这决意味着机器内存越大,这个值应该越大,因为table_cache加大后,使得mysql对SQL响应的速度更快了,不可避免的会产生更多的死锁(dead lock),这样反而使得数据库整个一套操作慢了下来,严重影响性能.所以平时维护中还是要根据库的实际情况去作出判断,找到最适合你维护的库的table_cache值,有人说:“性能优化是一门艺术”,这话一点没错.大凡艺术品,大都是经过千锤百炼,精雕细琢而成.MYSQL数据库 这里还要说明一个问题,就是table_cache加大后碰到文件描述符不够用的问题,在mysql的配置文件中有这么一段提示MYSQL数据库 引用MYSQL数据库 “The number of open tables for all threads. Increasing this value increases the number of file descriptors that mysqld requires. 下面说说key_buffer_size这个参数,key_buffer_sizeO表示索引缓冲区的大小,严格说是它决定了数据库索引处理的速度,尤其是索引读的速度.根据网络一些高手写的文章表示可以检查状态值Key_read_requests和Key_reads,即可知道key_buffer_size设置是否合理.比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好,虽然我还没有找到理论的依据,但是,我在本身维护的几台实际运行良好的库做过的测试后表明,这个比值接近1:20000,这从结果证明了他们说这话的正确性,我们不妨用之.MYSQL数据库 编程之家PHP培训学院每天发布《Mysql必读Mysql优化调优中两个重要参数table_cache和key_buffer》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |