【问题标题】:MemSQL - clearing plancache across master and leaf nodesMemSQL - 跨主节点和叶节点清除计划缓存
【发布时间】:2020-01-28 11:28:37
【问题描述】:

我有一个 MemSQL 集群,它有一个主聚合器和 3 个叶节点。主聚合器和 3 个叶子节点分别运行在不同的服务器上,因此总共有 4 个服务器。

每天都有一个进程在主聚合器服务器上运行,它会截断 MemSQL 中的所有表并从另一个源加载新数据。每个表被截断后,我通过以下命令删除计划缓存:

memsqlcli="mysql -u root -h 127.0.0.1 -P 3306 -vvv"
memsqlclid="$memsqlcli -D $memsql_db"
$memsqlclid -e "DROP ALL FROM PLANCACHE"

通过阅读此函数上的MemSQL documentation,看来我只是从当前节点(主聚合器)清除计划缓存。我的理解是叶节点也应该清除它们的缓存,如果不这样做可能会导致一些缓存问题,我相信我有时会在数据中看到这些问题。

我试图找到有关如何清除整个集群中的缓存的文档,但没有任何运气。有没有人设法实施这样的解决方案?

【问题讨论】:

    标签: mysql database singlestore


    【解决方案1】:

    正确,DROP ALL FROM PLANCACHE 仅在您连接的节点上运行。要在所有节点上删除计划缓存,请连接到所有节点并运行此命令。不幸的是,没有在整个集群中执行此操作的命令。

    您在此处删除计划缓存的目标是什么?什么意思

    我的理解是叶节点也应该清除它们的缓存,如果不这样做可能会导致一些缓存问题,我相信我有时会在数据中看到这些问题。

    通常不需要显式清除计划缓存,尤其是在叶子上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 2017-04-16
      • 2022-01-24
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多