mysql更新查询在一般日志中但数据没有改变

标签 mysql node.js sequelize.js node-mysql

我在批处理过程中使用 Node.js 和 MySQL。该过程同时进行大量查询并由许多作业组成。我注意到更新语句有时会起作用。

UPDATE `Configuration` SET `Value`='2015-06-08 11:35:00' WHERE `ID`=6

我已打开常规日志并在那里找到查询,但表中的数据尚未更改。该查询在作业结束时大约每 5 分钟运行一次。但其他作业仍在继续进行查询。

示例: jobA 正在发出大量查询。同时 jobC 从配置表中进行 SELECT。然后jobC执行一堆与Configuration表无关的查询。一旦 jobC 完成一堆,它就会针对配置表运行两个查询:SELECT 和 UPDATE。

示例中的配置表未在任何其他作业或事务中使用。

我在测试过程中发现,当 jobA 负载较重时,UPDATE 配置表查询不起作用。

任何人都可以告诉我问题是什么或者我应该在哪里进一步查看吗?

最佳答案

我建议研究 MySQL 的隔离模式。

我需要一些有关您的问题的更多信息(不更新与成功更新的频率以及在什么条件下更新的频率),但是如果它运行得太频繁,则其他事务(如果它们很长?)可能尚未完成运行如果它没有读取脏数据,它可能不会执行更新。这完全取决于作业的相对速度及其隔离模式。

关于mysql更新查询在一般日志中但数据没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30708841/

相关文章:

java - 为什么它说它是一个字符串?

MySQL删除重复值

mysql - 使用 sum 和 join 对行进行分组(构建摘要)

javascript - node-mysql:使用 object.query 时出错

javascript - Sequelize : can you use hooks to add a comment to a query?

mysql - 在 Mysql 过程中传递多个日期

node.js - 如何使用node js在log4js包中转换这种格式 "23-May-17 12:05:37"的日志文件时间

javascript - Sequelize 尝试将数据输入到未知列 [Postgres]

node.js - 使用 Passport js 进行身份验证时 Sequelize Js 错误(facebook)

node.js - 如何使用nodejs获取sequelize关联中的单个对象