gpt4 book ai didi

mysql - rsync 和 MyISAM 表

转载 作者:行者123 更新时间:2023-11-29 15:09:25 34 4
gpt4 key购买 nike

我正在尝试使用 rsync 来备份 MySQL 数据。这些表使用 MyISAM 存储引擎。

我的期望是,在第一次 rsync 之后,后续的 rsync 会非常快。事实证明,如果表数据发生任何更改,操作就会变慢。

我用包含真实数据的 989 MB MYD 文件进行了实验:

测试 1 - 重新复制未修改的数据

  • rsync -a orig.MYD copy.MYD
    • 如预期需要一段时间
  • rsync -a orig.MYD copy.MYD
    • 瞬时 - 加速数以百万计

测试 2 - 重新复制稍微修改过的数据

  • rsync -a orig.MYD copy.MYD
    • 如预期需要一段时间
  • 更新表 SET counter = counter + 1 WHERE id = 12345
  • rsync -a orig.MYD copy.MYD
    • 与原始副本一样长!

什么给了?为什么 rsync 仅仅复制一个微小的更改就需要很长时间?

编辑:事实上,测试 2 中的第二次 rsync 花费的时间与第一次一样长。 rsync 显然正在再次复制整个文件。

编辑:结果是,从本地复制到本地时,隐含了 --whole-file 。即使使用 --no-whole-file,性能仍然很糟糕。

最佳答案

rsync 仍然需要计算 block 哈希值来确定发生了什么变化。不修改的情况可能是查看文件修改时间/大小的快捷方式。

关于mysql - rsync 和 MyISAM 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1214071/

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