我们即将部署一些代码来截断mysql 4数据库中的表。我们这样做是为了解决一些复制'古怪',我们正在看到(并且广为人知)临时表。当我在代码审查中看到这个时,我的下意识反应是“不”,但我在备份时遇到了麻烦。
所以,问题是:我只是反应过度了吗?你有没有使用mysql中的truncate table遇到任何陷阱我们应该尽量避免?如何在复制环境中截断?
答案 0 :(得分:3)
截断(至少在Sybase中,不是100%确定mySql)
不写入日志。意思是,没有恢复,也没有回滚。
不会自动重建索引统计信息,这意味着在查看给定表时优化程序可能无法正常工作。
请参阅this article了解mySQL的具体细节/比较