Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
按照设计,所有读取都应该来自从站,并在主站上更新,
但考虑以下情况:
table_a中有一列water_mark,
我需要从 table_b 中读取 time_mark 列大于 water_mark 列的
表_a,
如果我从slave读取,则将master中的water_mark列更新为“now()”,
如果slave和master之间有很大的延迟怎么办?
正如您所指出的,那将是不安全的;SELECT ... FOR UPDATE和其他“先读后写”事务必须在同一台服务器上进行读写(当然,在 InnoDB 表上;-)。
SELECT ... FOR UPDATE