【问题标题】:Does MYSQLDump create temp tables?MYSQLDump 是否创建临时表?
【发布时间】:2023-02-14 12:35:27
【问题描述】:

我在 MySQL 5.7

我有一张大约150GB的桌子,电脑上的存储空间只有200GB。 所以我想去掉这张表上超过 9 个月的数据。

所以我的计划是使用 where 子句转储表。然后截断表,并重新插入转储。 使用 where 子句创建转储是否会创建一个临时表,在能够导出所有数据之前我会用完存储空间?

我在尝试常规删除语句的地方遇到的是表锁定和存储从正在创建的临时表中快速填满以删除。至少我认为这是我尝试删除时发生的事情

【问题讨论】:

    标签: mysql mysql-5.7


    【解决方案1】:

    您可以在不使用任何临时空间的情况下运行 mysqldump。在命令行中使用the --opt开关。至少使用 --quick 开关。

    您可以使用一个简单的 WHERE 子句,它仍然有效。

    并确保在具有足够硬盘空间的机器上运行该命令以存储输出的 .sql 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      相关资源
      最近更新 更多