5.8.1.14 键缓存探针

当使用 MyISAM 存储引擎使用的索引键高速缓存时,将触发键高速缓存探针。存在探针来监视何时将数据读入密钥高速缓存,将高速缓存的密钥数据从高速缓存写入高速缓存的文件或何时访问密钥高速缓存。

密钥高速缓存的使用情况指示何时从索引文件读取数据或将数据写入索引到高速缓存,并且可用于监视分配给密钥高速缓存的内存的使用效率。跨一系列查询的大量键高速缓存读取可能 table 明键高速缓存对于要访问的数据大小而言太小。

keycache-read-start(filepath, bytes, mem_used, mem_free)
keycache-read-block(bytes)
keycache-read-hit()
keycache-read-miss()
keycache-read-done(mem_used, mem_free)
keycache-write-start(filepath, bytes, mem_used, mem_free)
keycache-write-block(bytes)
keycache-write-done(mem_used, mem_free)

当将数据从索引文件读取到密钥缓存中时,该过程首先初始化读取操作(由keycache-read-starttable 示),然后加载数据块(keycache-read-block),然后读取的块与正在标识的数据匹配(keycache-read-hit)或更多数据需要读取(keycache-read-miss)。读取操作完成后,将以keycache-read-done停止读取。

仅当指定的键不在键高速缓存中时,才会将数据从索引文件读取到键高速缓存中。

  • keycache-read-start:启动键缓存读取操作时触发。从指定的filepath读取数据,并读取指定的bytes数。 mem_usedmem_availtable 示密钥高速缓存当前使用的内存以及密钥高速缓存内可用的内存量。

  • keycache-read-block:当键高速缓存从索引文件读取到键高速缓存中的指定数量为bytes的数据块时触发。

  • keycache-read-hit:从索引文件读取的数据块与请求的关键数据匹配时触发。

  • keycache-read-miss:从索引文件读取的数据块与所需的关键数据不匹配时触发。

  • keycache-read-done:完成键缓存读取操作时触发。 mem_usedmem_availtable 示键高速缓存当前使用的内存以及键高速缓存内可用的内存量。

INSERTUPDATEDELETE操作期间更新索引信息时,会发生密钥缓存写入,并且缓存的密钥信息会刷新回索引文件。

  • keycache-write-start:在启动键高速缓存写入操作时触发。将数据写入指定的filepath,读取指定数量的bytesmem_usedmem_availtable 示密钥高速缓存当前使用的内存以及密钥高速缓存内可用的内存量。

  • keycache-write-block:当键高速缓存将指定数量为bytes的数据块从键高速缓存写入索引文件时触发。

  • keycache-write-done:在完成键高速缓存写入操作时触发。 mem_usedmem_availtable 示键高速缓存当前使用的内存以及键高速缓存内可用的内存量。