Consider the key buffer in a MySQL server.
#思考一下MySQL服务器中的key buffer;
Which two statements are true about this feature?
#关于这个特性,哪两种说法是正确的?
A、It caches index blocks for MyISAM tables only;
#它只缓存MyISAM表的索引块;
B、It caches index blocks for all storage engine tables;
#它缓存所有存储引擎表的索引块;
C、It is a global buffer;
#它是一个全局缓冲区;
D、It is set on a per-connection basis;
#按每个连接设置;
E、It caches index blocks for InnoDB tables only;
#它只缓存InnoDB表的索引块;
Answer:A、C;
为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。
如果应用系统中使用的表以 MyISAM 存储引擎为主,则应该适当增加该参数的值,以便尽可能的缓存索引,提高访问的速度。
建议key_buffer设置为物理内存的1/4(针对MyISAM引擎),甚至是物理内存的30%~40%,如果key_buffer_size设置太大,系统就会频繁的换页,降低系统性能。
因为MySQL使用操作系统的缓存来缓存数据,所以我们得为系统留够足够的内存;在很多情况下数据要比索引大得多。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




