【发布时间】:2020-10-10 11:19:19
【问题描述】:
以下哪个查询更快:
- DROP TABLE table_Name
- TRUNCATE TABLE table_Name
- 从表名中删除
【问题讨论】:
-
自己测试会不会更快?
-
可能是
truncate,但您需要自己测试。 -
这有关系吗?他们做不同的事情。
标签: mysql sql sql-delete
以下哪个查询更快:
【问题讨论】:
truncate,但您需要自己测试。
标签: mysql sql sql-delete
在 MySQL 中,对于具有大量行的表,我认为 drop 是最快的操作,然后是 truncate,最后是 delete。
理由:
drop 和 truncate 是 DDL 操作,而 delete 是 DML 操作;随着行数的增加,delete 的性能会迅速下降(而 DDL 操作对底层数据集大小的依赖性较小)。
在 MySQL 中,truncate 在后台 drops 并重新创建表 - 所以它不能比直接的 drop 快
【讨论】: