当我需要从 table 中删除所有数据时,使用 delete 或 truncate 哪个最好?

which is best using delete or truncate when i need to delete all data from table?

我在 sql server 2017

上工作

我需要删除 table student_course

中的所有行

但我不知道哪个最好用

delete from student_course

truncate table student_course

表格结构

table student_course 结构

studentid pk
courseid  pk

table学生table

studentid pk

table 门课程

courseid pk

student_course table 与课程 table 和学生 table

有关系

所以将使用哪个命令从 table student_course

中删除所有行

截断或删除?

我有一个 table 的外键,所以我将使用删除,而不是截断。

但如果我没有外键,那么我将使用截断,因为它比删除更快