暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU 翻译] MySQL 14.4 字典对象缓存

原创 由迪 2022-01-19
814

字典对象缓存是一个共享的全局缓存,它将以前访问过的数据字典对象存储在内存中,以实现对象重用并最小化磁盘 I/O。与 MySQL 使用的其他缓存机制类似,字典对象缓存使用基于 LRU的驱逐策略从内存中驱逐最近最少使用的对象。

字典对象缓存包括存储不同对象类型的缓存分区。一些缓存分区大小限制是可配置的,而另一些则是硬编码的。

  • 表空间定义缓存分区:存储表空间定义对象。该 tablespace_definition_cache 选项设置了可以存储在字典对象缓存中的表空间定义对象的数量限制。默认值为 256。

  • 架构定义缓存分区:存储架构定义对象。该 schema_definition_cache 选项设置了可以存储在字典对象缓存中的架构定义对象的数量限制。默认值为 256。

  • 表定义缓存分区:存储表定义对象。对象限制设置为 的值 max_connections,其默认值为 151。

    table_definition_cache 表定义缓存分区与使用配置选项 配置的表定义缓存并行存在 。两个缓存都存储表定义,但服务于 MySQL 服务器的不同部分。一个缓存中的对象不依赖于另一个缓存中对象的存在。

  • 存储程序定义缓存分区:存储存储程序定义对象。该 stored_program_definition_cache 选项设置了可以存储在字典对象缓存中的存储程序定义对象的数量限制。默认值为 256。

    存储程序定义缓存分区与使用该 stored_program_cache选项配置的存储过程和存储函数缓存并行存在。

    stored_program_cache 选项为每个连接的缓存存储过程或函数的数量设置软上限,并且每次连接执行存储过程或函数时都会检查该限制。另一方面,存储程序定义缓存分区是一个共享缓存,用于存储存储程序定义对象用于其他目的。存储程序定义缓存分区中对象的存在与存储过程缓存或存储函数缓存中对象的存在无关,反之亦然。

  • 字符集定义缓存分区:存储字符集定义对象,硬编码对象限制为 256。

  • 归类定义缓存分区:存储归类定义对象,硬编码对象限制为 256。

有关字典对象缓存配置选项的有效值的信息,请参阅 第 5.1.8 节,“服务器系统变量”

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论