mysql Key_buffer_size参数的设置

数据库 MySQL
mysql数据库中有许多重要的参数,其中mysql key_buffer_size是对MyISAM表性能影响最大的一个参数,下面就让我们一起来了解一下。

在mysql数据库中,mysql key_buffer_size是对MyISAM表性能影响最大的一个参数,下面就将对mysql Key_buffer_size参数的设置进行详细介绍,供您参考。

下面一台以MyISAM为主要存储引擎服务器的配置:
mysql> show variables like 'key_buffer_size';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| key_buffer_size | 536870912 |
+-----------------+------------+
分配了512MB内存给mysql key_buffer_size,我们再看一下key_buffer_size的使用情况:
mysql> show global status like 'key_read%';
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_read_requests | 27813678764 |
| Key_reads | 6798830 |
+------------------------+-------------+
一共有27813678764个索引读取请求,有6798830个请求在内存中没有找到直接从硬盘读取索引,计算索引未命中缓存的概率:

key_cache_miss_rate = Key_reads / Key_read_requests * 100%

比如上面的数据,key_cache_miss_rate为0.0244%,4000个索引读取请求才有一个直接读硬盘,已经很BT了,key_cache_miss_rate在0.1%以下都很好(每1000个请求有一个直接读硬盘),如果key_cache_miss_rate在0.01%以下的话,key_buffer_size分配的过多,可以适当减少。
MySQL服务器还提供了key_blocks_*参数:
mysql> show global status like 'key_blocks_u%';
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_blocks_unused | 0 |
| Key_blocks_used | 413543 |
+------------------------+-------------+
Key_blocks_unused表示未使用的缓存簇(blocks)数,Key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:
Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%

 

 

【编辑推荐】

两种实现MySQL多表联查的方法

MySQL创建函数问题的处理方法

Liunx下修改MySQL字符集的方法

带您了解mysql变量

MySQL用户权限设置方法

 

责任编辑:段燃 来源: 互联网
相关推荐

2023-05-03 21:34:34

MySQL状态变量

2011-08-23 16:55:55

MySQL参数DELA

2010-04-29 16:15:06

Oracle flas

2023-03-30 22:39:39

MySQL数据库

2021-03-01 18:37:15

MySQL存储数据

2023-12-25 22:19:35

函数

2023-10-07 15:56:49

三链表缓存页flush链表

2010-01-14 16:46:13

CentOS Mysq

2022-03-22 15:05:15

MySQL缓冲池

2015-04-07 10:31:31

PHPMySQLBuffer用法

2010-05-11 14:55:42

MySQL参数设置

2012-10-17 09:50:47

HBase

2022-03-30 09:23:15

MySQL缓冲

2024-10-23 08:47:46

2009-07-02 11:29:30

MySQL参数

2024-07-17 09:10:27

2010-09-25 13:13:17

tomcatJVM

2010-10-08 16:55:44

MySql存储过程

2019-12-10 09:53:27

LinuxCacheBuffer

2010-07-05 15:58:23

SQL Server
点赞
收藏

51CTO技术栈公众号