MySQL:什么是关键缓冲区 [英] MySQL: What is the key buffer
问题描述
我正在尝试调整MySQL服务器以满足我的需要...并且我有一个基本问题:什么是密钥缓冲区?
I'm trying to tweak my MySQL server to fit my needs... and I have a basic question: What is the key buffer?
通过尝试和错误,我发现更大的键缓冲区使我的插入速度更快...但是我不太清楚它是什么.所以...在做点我可能会后悔的事情之前,我想知道它是什么,以及它是如何工作的.
Through try and error I've found that a bigger key buffer makes my inserts faster... but I don't quite understand what it is. So... before I make something I might regret, I'd like to know what it is, and how it works.
我正在运行的脚本(MyISAM表)每秒大约进行2000次插入.
The script I'm running (MyISAM tables) is making about 2000 inserts per second.
(我的服务器设置是Intel i7、8GB RAM,CentOS 5.5,MySQL Server 5.0.)
(My server setup is Intel i7, 8GB RAM, CentOS 5.5, MySQL Server 5.0.)
推荐答案
什么是密钥缓冲区?
键缓冲区是MyISAM特定的,它是索引块的结构,其中包含许多块缓冲区,在这些缓冲区中放置了最常用的索引块.这是为了最小化磁盘I/O,因为[当前]内存仍然比硬盘驱动器快. MyISAM密钥缓冲区在文档中有更详细的描述.
大小取决于索引数量,数据大小和工作量.
Size depends on amount of indexes, data size and workload.
- 如果仅使用MyISAM表,则最多设置30-40%的可用内存.最小2-4 MB;专用GB可能是浪费.
For more info, see this article on MySQL tuning.
这篇关于MySQL:什么是关键缓冲区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!