sql - mysql 截断表与删除

标签 sql mysql truncate

我们即将部署一些代码来截断 mysql 4 数据库中的表。我们这样做是为了解决我们在临时表中看到的(并且众所周知的)一些复制“怪异现象”。当我在代码审查中看到这一点时,我的本能 react 是“不”,但我在备份它时遇到了困难。

所以,问题是:我是否 react 过度了?您是否遇到过在 mysql 中使用 truncate table 时遇到的任何我们应该尽量避免的问题?在复制环境中截断怎么样?

最佳答案

截断(至少在 Sybase 中,对于 mySql 不是 100% 确定)

  • 不写入日志。这意味着,没有恢复也没有回滚。

  • 不会自动重建索引统计信息,这意味着优化器在查看给定表时可能无法正常工作。

请参阅this article有关 mySQL 的具体细节/比较

这是relevant mySQL TFM

关于sql - mysql 截断表与删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1490519/

相关文章:

mysql - SQL - "merge"3 个带有 JOIN 的表

sql - 如何在 ON CONFLICT 子句中消除 plpgsql 变量名的歧义?

mysql - 什么存储系统用于实时消息传递?

mysql - 使用 SQL 迭代列表

sql - 更好地执行 SQL 代码以将数据提取到文件?

php - 函数未定义,MYSQL错误

mysql - 如果每个字段的另一列为空,则按一列排序

jquery - 尝试在 JQuery 中截断字符串并替换为 ...

mysql - 如何根据列数据截断一行?

sql - 自动截断分配的字符串到字段的长度?