查询缓存

默认情况下,查询缓存集是*每个数据库*。这意味着为每个新数据库初始化一个新的缓存集。

每个缓存的最大条目数使用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