Rails SELECT 40001 SQL_NO_CACHE 从未知位置触发

Sat*_*ati 2 mysql ruby-on-rails database-replication

在 MySQL 数据库服务器中,我们有名为test 的模式。该架构具有名为users 的表。

rails 应用程序在任何地方都没有使用过用户表。找到的用户条目的唯一位置是在 schema.rb 中。

用户表中有一些数据存储和数据被通过运行一些其他服务器上的其他Java应用程序插入。rails 应用程序通过 HTTPs 对 JAVA 应用程序进行 API 调用,并在需要时检索数据以供使用。

每天将 MySQL 主数据库复制到从服务器。

在复制过程中,波纹管查询记录在慢日志中并导致复制滞后。

root    localhost   test Query  93  Sending data    SELECT /*!40001 SQL_NO_CACHE */ * FROM `users`
root    localhost   test Query  62  Writing to net  SELECT /*!40001 SQL_NO_CACHE */ * FROM `users`
Run Code Online (Sandbox Code Playgroud)

此查询不是从 Rails 应用程序触发的 - 我们可以在日志中看到连接的用户和主机是 root 和 localhost。

如果有人帮助我确定查询的来源以及如何或可以做些什么来避免查询,我将不胜感激。

czi*_*mba 5

我有同样的问题。就我而言,这是由于调用mysqldump.