MYSQLDump是否创建临时表?

rsaldnfx  于 2023-02-15  发布在  Mysql
关注(0)|答案(1)|浏览(116)

我用的是MySQL 5.7
我有一张大约150GB的表,电脑上的存储空间只有200GB。所以我想把这张表上9个月以上的数据去掉。
所以我的计划是使用where子句转储表,然后截断表,并重新插入转储。使用where子句创建转储会创建临时表吗?在导出所有数据之前,我会用完临时表中的存储空间。
我在尝试常规删除语句时遇到的问题是,从创建临时表到删除,表锁定和存储空间迅速填满。至少我认为这是我尝试删除时发生的情况

6ojccjat

6ojccjat1#

您可以让mysqldump在不使用任何临时空间的情况下运行。在命令行中使用--opt开关。至少使用--quick开关。
您可以使用一个简单的WHERE子句,它仍然可以工作。
并确保在具有足够硬盘空间来存储输出.sql文件的计算机上运行该命令。

相关问题