mysql - 运行不相关查询的 AWS RDS MySQL 只读副本

标签 mysql amazon-web-services amazon-rds

我最近在 Amazon RDS 上成功设置了只读副本。它一切正常,尽管副本滞后似乎很大(通常 >60 秒)。从监控进程看来,主数据库/主数据库上的所有更新命令随后都在副本/从数据库上执行。

这似乎令人惊讶,因为系统知道受影响的行数(在 master 上),所以我假设它没有传递任何没有改变任何内容的查询。然而,即使是这些也是在slave上执行的。

这是为什么以及(如何)阻止这种情况发生?

最佳答案

识别查询是相关的还是不相关的需要一点点智慧;话虽如此,重要的是,所有影响/影响 MASTER 的查询也有望命中只读副本。

创建一个系统来确定要跳过哪个查询从 MASTER 发送到只读副本真的很困难(恕我直言,这是不可能的),因为

UPDATE students SET SCORE = 100 WHERE student_id = 100可能会返回 0 行受影响

还有 TRUNCATE TABLE student 将始终 返回 0 行受影响

因此,归根结底,所有由 MASTER 处理的查询都应该再次由只读副本处理。

关于mysql - 运行不相关查询的 AWS RDS MySQL 只读副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540186/

相关文章:

Mysql:相同的查询,不同的结果

mysql - 在 sql 列的句子中查找长度超过 10 个字符的单词?

mysql - RDS MySQL Storage Full ...当数据库使用率低时

python-3.x - python中的AWS cloudform包

mysql - 已删除 RDS 数据库的时间点恢复

Mysql使用准备好的语句选择和插入

mysql - 使用 MySQL 查找字符串中的精确文本

amazon-web-services - 解析程序中的AppSync GraphQL变异服务器逻辑

Mysql 查询缓存无法与 mysql RDS 读复制一起使用

mysql - 无法使用 Sailsjs 适配器连接 aws rds