标签: mysql database
我正在研究MySQL数据库并运行一个cronjob php脚本,该脚本对数据库执行单个查询以计算数据并替换数据库中的表。查询大约需要两秒钟,因此我无法在开始之前截断表,因为只要新数据不完整,我希望用户查看旧数据。我的第一个想法是创建一个新表,运行查询,删除旧表并重命名新表。有没有更好的方法呢?从理论上讲,有人仍然可以在我的删除和重命名查询之间请求数据。
答案 0 :(得分:1)
在transaction。
在您COMMIT交易之前,用户将看到旧数据。
COMMIT