当存储引擎为 MyISAM 时如何调整 Mysql
how to tune Mysql when storage engine is MyISAM
MyISAM 查询结果太慢,我应该做些什么改变,
如果
内存 16GB
数据库 500GB
mysql> SHOW STATUS LIKE 'key%'
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 275029 |
| Key_blocks_used | 3316428 |
| Key_read_requests | 11459264178 |
| Key_reads | 3385967 |
| Key_write_requests | 91281692 |
| Key_writes | 27930218 |
+------------------------+-------------+
在为 MEMORY 表的实际大小和同一台机器上 运行 的任何应用程序减去足够的空间后,将剩余 RAM 的 10% 分配给 key_buffer_size
,将剩余 RAM 的 35% 分配给 key_buffer_size
innodb_buffer_pool_size
。这应该是对主要内存用户的一个很好的切入。
Key_reads / Key_read_requests
表示 key_buffer_size
足够大。 Key_blocks_used * 1024 / key_buffer_size
将为您提供当前所需的上限。
如果您对 my.cnf 进行了任何其他更改,让我们看看。
MyISAM 查询结果太慢,我应该做些什么改变,
如果
内存 16GB
数据库 500GB
mysql> SHOW STATUS LIKE 'key%'
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_blocks_not_flushed | 0 |
| Key_blocks_unused | 275029 |
| Key_blocks_used | 3316428 |
| Key_read_requests | 11459264178 |
| Key_reads | 3385967 |
| Key_write_requests | 91281692 |
| Key_writes | 27930218 |
+------------------------+-------------+
在为 MEMORY 表的实际大小和同一台机器上 运行 的任何应用程序减去足够的空间后,将剩余 RAM 的 10% 分配给 key_buffer_size
,将剩余 RAM 的 35% 分配给 key_buffer_size
innodb_buffer_pool_size
。这应该是对主要内存用户的一个很好的切入。
Key_reads / Key_read_requests
表示 key_buffer_size
足够大。 Key_blocks_used * 1024 / key_buffer_size
将为您提供当前所需的上限。
如果您对 my.cnf 进行了任何其他更改,让我们看看。