老刘笔记老刘笔记

欢迎光临
我们一直在努力!

mysql MyISAM key_buffer_size索引优化原理

key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,
但是内部的临时磁盘表是MyISAM表,也要使用该值,
可以使用检查状态值created_tmp_disk_tables得知详情。

通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。


1、建立缓存索引 :
mysql> set global key_buffer_1.key_buffer_size=8384512;
mysql key_buffer_size是对MyISAM表性能影响最大的一个参数
show variables like 'key_buffer_size' 26214400 25M

2、把指定表放到key buffer中
cache index t1,t2 in key_buffer_1;

3、预先装载表的索引块
mysql> load index into cache t1,t2;

Key cache中的Block大小可能和索引文件中的Index Block大小不同,可能是大于、小于、等于中的任何一种,但是一般都是成倍数关系的。
Key Cache的block大小由参数Key_cache_block_size控制。

原理图

文章链接https://www.rjyl100.cn/detail/108.html
版权声明:文章由本站原创或网友分享,禁止转载!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请与我们联系,我们将及时更正、删除,谢谢。
温馨提示本站信息来自互联网或网友分享,请大家查阅时,谨慎选择、自辩真伪,自负责任。

梦想还是要有的,万一实现了呢?老刘笔记,感谢有您陪伴!