截断表需要很长时间,这是正常的吗?

smr*_*yar 12 mysql

我正在使用truncate table table_name; 在一张大约有100万行的桌子上,但是自从过去3个小时以来一直运行太久了.

这是正常的吗?你能建议一些其他方法来删除表中的所有行,这可能更快吗?

Kal*_*ran 40

截断在某些情况下不会起作用,例如:

当你有索引类的东西和一些外键约束

我建议的简单方法是

RENAME TABLE table_name TO t1;

CREATE TABLE table_name LIKE t1;

DROP TABLE t1;
Run Code Online (Sandbox Code Playgroud)

或者你也可以使用 DELETE FROM table_name;