gpt4 book ai didi

mysql - 数据库多表更新同时永久访问

转载 作者:行者123 更新时间:2023-11-29 18:49:14 26 4
gpt4 key购买 nike

我在 MySql 数据库中有一组表,其中包含一组相关数据(总共 50 000 行,所以容量很小),这些数据一直被访问(700 万/天)。我需要定期(假设每天一次)更新所有表中的所有数据(完全刷新)。

我正在考虑两种可能性:

  • 使用事务,但我不确定它如何与读取/锁定一起使用

  • 使用版本控制:在所有表中添加版本列,并将同一“发布”上的所有行设置为具有相同版本。下一个发布将具有版本+1,然后可以删除较低版本的行。当前版本存储在参数表中,允许读取查询始终选择最新的可用版本。

有人尝试过这两种解决方案吗?或者任何不同/更好的解决方案?

谢谢

最佳答案

替换整个表

CREATE TABLE new LIKE real;
populate `new` with the new stuff -- the slow part
RENAME TABLE real TO old,
new TO real; -- atomic and fast.

替换整个数据库:对每个表执行上述操作,但要等到所有其他工作完成后才执行RENAMEs。然后在一个 RENAME TABLE 语句中完成所有这些操作。

没有锁定,没有事务,什么都没有。

关于mysql - 数据库多表更新同时永久访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44443573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com