mysql中SQL中DROP和TRUNCATE之间的区别

DROP和TRUNCATE是Mysql中删除数据常用的两种操作,那这两种操作有什么区别,哪种删除效率最高呢,分别对应哪些应用场景。

  1. DROP:
    DROP是DDL(数据定义语言)命令,用于删除表定义以及该表的索引,数据,约束,触发器等。在性能方面,DROP命令执行速度快,但比TRUNCATE慢,因为它会增加复杂性。与DELETE不同,我们无法在使用DROP命令后回滚数据。在DROP命令中,表空间从内存中释放出来,因为它会永久删除表及其所有内容。
    DROP命令的语法–

    DROP TABLE table_name;
  2. TRUNCATE:
    TRUNCATE是DDL(数据定义语言)命令。它用于删除表中的所有元组。像DROP命令一样,TRUNCATE命令也不包含WHERE子句。TRUNCATE命令比DROP和DELETE命令都快。像DROP命令一样,在使用this命令之后,我们也无法回滚数据。
    TRUNCATE命令的语法–

    TRUNCATE TABLE table_name; 

DROP和TRUNCATE命令之间的区别:

序号 Drop TRUNCATE
1。 DROP命令用于删除表定义及其内容。 而TRUNCATE命令用于删除表中的所有行。
2。 在DROP命令中,表空间从内存中释放出来。 虽然TRUNCATE清楚数据但不会从内存中释放表空间。
3。 DROP是DDL(数据定义语言)命令。 而TRUNCATE也是DDL(数据定义语言)命令。
4。 在DROP命令中,表视图不存在。 在此命令中,存在表视图。
5, 在DROP命令中,将删除完整性约束。 在此命令中,不会删除完整性约束。
6。 在DROP命令中,不使用撤消空间。 在此命令中,将使用撤消空间,但小于DELETE。
7 DROP命令执行速度很快,但会带来复杂性。 虽然此命令比DROP快。
mysql聚集索引和非聚集索引之间的区别
Redis不仅仅是缓存
Tags: