【问题标题】:MySQL: Better way than drop and rename table?MySQL:比删除和重命名表更好的方法?
【发布时间】:2015-04-23 15:29:35
【问题描述】:

我正在开发一个 MySQL 数据库并运行一个 cronjob php 脚本,该脚本在数据库上执行单个查询以计算数据并替换数据库中的表。查询大约需要两秒钟,所以我不能在开始之前截断表,因为我希望用户在新数据不完整时看到旧数据。我的第一个想法是创建一个新表,运行查询,删除旧表并重命名新表。有没有更好的方法来做到这一点?理论上有人仍然可以在我的 drop 和 rename 查询之间请求数据。

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    transaction 中执行更新。

    直到你COMMIT交易,用户才会看到旧数据。

    【讨论】:

      猜你喜欢
      • 2015-04-11
      • 1970-01-01
      • 2011-03-19
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 2010-12-04
      相关资源
      最近更新 更多