数码资讯
MySQL优化的两个重要参数table_cache和key_buffer
本文根据笔者的一点经验,讨论了在MySQL服务器优化,table_cache两个非常重要的参数,key_buffer_size。 table_cache指令高速缓存的大小。当访问MySQL表,如果在MySQL表缓冲区有空间,该表将被打开,放入表缓冲。此方法的优点是,它可以访问该表的内容越快。一般来说
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文根据笔者的一点经验,讨论了在MySQL服务器优化,table_cache两个非常重要的参数,key_buffer_size。
table_cache指令高速缓存的大小。当访问MySQL表,如果在MySQL表缓冲区有空间,该表将被打开,放入表缓冲。此方法的优点是,它可以访问该表的内容越快。一般来说,你可以查看数据库的操作时间和峰值open_tables opened_tables状态值,以确定是否需要增加table_cache值,即当open_tables接近table_cache,和opened_tables值逐渐增加,应考虑增加此大小的值。
在MySQL默认安装的情况下,table_cache在2G内存以下的机器在256到512的默认值,如果机器有4G内存,默认值是2048,但这绝不意味着机器,更多的内存,这个值应该更大,因为table_cache增加,SQL的响应速度的MySQL,不可避免会产生更多的死锁(死锁),而不是一组操作慢整个数据库制作,严重影响性能,所以在平时的维护,我们必须根据图书馆的实际情况作出判断,找到table_cache值,是最适合你的保养,有人说:性能优化是一种艺术,那是真的。艺术作品大多是经过千锤百炼后雕成的。
一个问题是,table_cache增加时,文件描述符是不够的问题,还有在MySQL的配置文件这样的暗示
引用
所有线程的打开表数。增加这个值增加
因此,您必须确保设置打开的数量。
这是要注意这个问题,我想在这里,几个兄弟可以通过ulimit -n调整,但实际调整是错误的,一个终端,这个值将返回到原来的值,所以最好使用sysctl或修改 / / sysctl.conf等文件,并在配置文件增加4G这个参数open_files_limit,存储服务器,现在购买服务器几乎是4G,这open_files_limit增加到至少4096,如果没有特殊情况,可以设置为8192。
让我们的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,证明正确性的话,他们说,从结果中我们可以使用。
table_cache指令高速缓存的大小。当访问MySQL表,如果在MySQL表缓冲区有空间,该表将被打开,放入表缓冲。此方法的优点是,它可以访问该表的内容越快。一般来说,你可以查看数据库的操作时间和峰值open_tables opened_tables状态值,以确定是否需要增加table_cache值,即当open_tables接近table_cache,和opened_tables值逐渐增加,应考虑增加此大小的值。
在MySQL默认安装的情况下,table_cache在2G内存以下的机器在256到512的默认值,如果机器有4G内存,默认值是2048,但这绝不意味着机器,更多的内存,这个值应该更大,因为table_cache增加,SQL的响应速度的MySQL,不可避免会产生更多的死锁(死锁),而不是一组操作慢整个数据库制作,严重影响性能,所以在平时的维护,我们必须根据图书馆的实际情况作出判断,找到table_cache值,是最适合你的保养,有人说:性能优化是一种艺术,那是真的。艺术作品大多是经过千锤百炼后雕成的。
一个问题是,table_cache增加时,文件描述符是不够的问题,还有在MySQL的配置文件这样的暗示
引用
所有线程的打开表数。增加这个值增加
因此,您必须确保设置打开的数量。
这是要注意这个问题,我想在这里,几个兄弟可以通过ulimit -n调整,但实际调整是错误的,一个终端,这个值将返回到原来的值,所以最好使用sysctl或修改 / / sysctl.conf等文件,并在配置文件增加4G这个参数open_files_limit,存储服务器,现在购买服务器几乎是4G,这open_files_limit增加到至少4096,如果没有特殊情况,可以设置为8192。
让我们的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,证明正确性的话,他们说,从结果中我们可以使用。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。