每当我尝试使用
清空一个大表时truncate table the_huge_table;
等等几分钟,我什么也没发现。
另一方面,我不想删除整个表,因为不知道如何重新生成它,所以想知道什么是轻松清空这个怪物的最佳方法?
答案 0 :(得分:10)
SHOW CREATE TABLE the_huge_table
将告诉您如何删除表格时重新创建表格。
另一种选择是克隆表结构:
CREATE TABLE cloned LIKE the_huge_table;
RENAME TABLE the_huge_table TO drop_me, cloned TO the_huge_table;
DROP TABLE drop_me;
答案 1 :(得分:4)
mysqldump --no-data dbname tablename > /tmp/backup.sql
mysql -e 'drop table tablename' dbname
mysql dbname < /tmp/backup.sql
答案 2 :(得分:1)
将结构复制到新的空表中 放下旧桌子 重命名空副本。
CREATE TABLE copy_huge_table LIKE the_huge_table;
DROP TABLE the_huge_table;
RENAME TABLE copy_huge_table TO the_huge_table;