欢迎光临散文网 会员登陆 & 注册

软件测试 | 影响MySQL性能的重要参数

2023-08-01 18:24 作者:爱测软件测试  | 我要投稿

key_buffer_size的设置

首先看看MySQL(MySQL服务器启动命令,加“--verbose -help”显示全部启动选项)中是如何定义的key_buffer_size参数的:

从以上定义可以看出,这个参数是用来设置索引快(Index Blocks)缓存的大小,它被所有线程共享,此参数只适用于MyISAM存储引擎。MySQL5.1以前允许使用一个系统默认的key_buffer,这样可以更小地降低线程之间的竞争。

可以这样建立一个索引缓存:

其中,global表示对每一个新的连接,此参数都将生效。hot_cache2是新的key_buffer名称。

如果需要更改参数值,可以随时进行重建,例如;

然后可以把相关表的索引放到指定的索引缓存中,如下:

想要将索引预装到默认key_buffer中,可以使用LOAD INDEX INTO CACHE语句。例如,下面的语句可以预装表sales的所有索引:

如果需要删除索引缓存,则要使用下面命令;

请注意不能删除默认可以_buffer。来看一下实际删除结果:

可以看出,虽然提示设置成功,但是有一个warning “Cannot drop default keycache”,提示不能删除默认key_buffer。重新创建一个连接后,参数值果然没有更改:

cache index 命令在一个表和key_buffer之间建立一种联系,但每次服务器重启时key_buffer中的数据将清空。如果想要每次服务器重启时响应表的索引能自动放到key_buffer中,可以在配置文件中设置init-file选项来制定包含cache index语句的文件路径,然后在对应的文件中写入cache index语句。下面是一个例子:

每次服务器启动时执行mysql_init.sql中的雨具,该文件每行应包含一个SQL语句。下面的例子分配几个表,分别对应hot_cache和cold_cache:

搜索微信公众号:TestingStudio霍格沃兹的干货都很硬核

软件测试 | 影响MySQL性能的重要参数的评论 (共 条)

分享到微博请遵守国家法律