启用查询缓存的正确方法是什么?

时间:2015-06-04 21:14:36

标签: google-cloud-sql

基于documentation,不支持超级权限,这意味着以下查询:

SET GLOBAL query_cache_size = 1000000;

会产生错误消息

  

拒绝访问;您需要(至少一个)此操作的SUPER权限

并且不允许我们设置查询缓存大小。

完成任务的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

正如mhalt暗示的那样,有充分的理由不使用查询缓存:

  • 你应该使用InnoDB而不是MyISAM,因为MyISAM不够强大,不适合云环境。
  • InnoDB内置了缓存作为缓冲池的一部分。这会缓存单个数据页面,而不是整个结果集。
  • 缓冲池通常为查询缓存提供优越的缓存:1)写入后不会刷新2)使用相同的缓存条目可以提供多个不同的查询3)如果活动集大于ram。
  • 查询缓存优越的唯一工作负载是,如果您的非常低写入率且几乎所有查询都完全相同。
  • 为此,Cloud SQL通过最大化分配给缓冲池的RAM而不是具有查询缓存来优化。

答案 1 :(得分:0)

CloudSQL现在支持query_cache标志。

https://cloud.google.com/sql/docs/mysql/flags

但是这些选项may break the SLA coverage