MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
如果一个键缓存中有足够的块来保存整个索引的块,或者至少是对应于其非叶节点的块,那么在开始使用它之前,用索引块预加载键缓存是有意义的。预加载使您能够以最有效的方式将表索引块放入键缓存缓冲区:通过顺序从磁盘读取索引块。
在没有预加载的情况下,块仍然会根据查询的需要放置到键缓存中。尽管这些块保存在缓存中,但因为有足够的缓冲区容纳它们,所以它们是按随机顺序而不是顺序从磁盘中获取的。
要将索引预加载到缓存中,请使用将索引加载到缓存中
声明。例如,下面的语句预加载表索引的节点(索引块)t1
而且t2
:
在缓存t1和t2中添加索引+---------+--------------+----------+----------+ | 表| Op | Msg_type | Msg_text | +---------+--------------+----------+----------+ | 测试。t1 | preload_keys | status | OK | | test。t2|preload_keys | status | OK | +---------+--------------+----------+----------+
的忽略叶子
修饰符只会导致索引的非叶节点的块被预加载。因此,所示语句从t1
,但只阻塞来自的非叶节点t2
.
如果索引已使用缓存索引
语句,预加载将索引块放入该缓存中。否则,索引将加载到默认键缓存中。