查询缓存

默认情况下,查询缓存是按数据库划分的。这意味着每个新数据库都会初始化一套新的缓存。

每个缓存的最大条目数通过 server.memory.query_cache.per_db_cache_num_entries 配置。它仅在 server.memory.query_cache.sharing_enabled 设置为 false 时决定缓存大小。

查询缓存可能会消耗大量内存,尤其是在运行许多活动数据库时。为了解决这个问题并提高内存消耗的可预测性,您可以将 DBMS 配置为所有数据库只使用一套缓存。有关更多信息,请参阅 统一查询缓存

配置缓存

以下是查询缓存配置的摘要。有关更多信息,请参阅 操作手册 → 配置设置

表 1. 查询缓存配置
设置 描述 默认值

server.memory.query_cache.sharing_enabled

仅限企业版 启用不同数据库之间共享缓存空间。启用此选项后,数据库将共享缓存空间,但不共享缓存条目。

false

server.memory.query_cache.shared_cache_num_entries

仅限企业版 所有数据库的缓存查询数量。此设置仅在 server.memory.query_cache.sharing_enabled 设置为 true 时决定缓存大小。

1000

server.memory.query_cache.per_db_cache_num_entries

每个数据库的缓存查询数量。此设置仅在 server.memory.query_cache.sharing_enabled 设置为 false 时决定缓存大小。

1000

© . All rights reserved.