我正在尝试调整我的MySQL服务器以满足我的需求......我有一个基本问题:什么是密钥缓冲区?
通过尝试和错误,我发现更大的密钥缓冲区使我的插入更快......但我不太明白它是什么.所以...在我做出一些我可能后悔的事情之前,我想知道它是什么,以及它是如何工作的.
我正在运行的脚本(MyISAM表)每秒大约进行2000次插入.
(我的服务器设置是Intel i7,8GB RAM,CentOS 5.5,MySQL Server 5.0.)
密钥缓冲区是MyISAM特定的,索引块的结构,包含许多块缓冲区,其中放置了最常用的索引块.这意味着最小化磁盘I/O,因为内存仍然比[当前]的硬盘驱动器更快.所述的MyISAM键缓存器中更详细的文档中描述.
大小取决于索引量,数据大小和工作负载.
如果仅使用MyISAM表,请设置可用内存的30-40%.最低2-4 MB; 奉献GB可能是一种浪费.
有关更多信息,请参阅有关MySQL调优的这篇文章.