当存储引擎为 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 进行了任何其他更改,让我们看看。

http://mysql.rjweb.org/doc.php/memory