TRUNCATE

    它和在目标表上进行无条件的DELETE有同样的效果,但由于TRUNCATE不做表扫描,因而快得多。在大表上操作效果更明显。

    • TRUNCATE TABLE在功能上与不带WHERE子句DELETE语句相同:二者均删除表中的全部行。

    • TRUNCATE TABLE比DELETE速度快且使用系统和事务日志资源少:

      • TRUNCATE TABLE通过释放存储表数据所用数据页来删除数据,并且只在事务日志中记录页的释放。
    • TRUNCATE,DELETE,DROP三者的差异如下:

      • TRUNCATE TABLE,删除内容,释放空间,但不删除定义。
      • DELETE TABLE,删除内容,不删除定义,不释放空间。
      • DROP TABLE,删除内容和定义,释放空间。
    • 清理表数据。
    • 清理表分区的数据。
    • 目标表的名称(可以有模式修饰)。

      取值范围:已存在的表名。

    • CONTINUE IDENTITY

      不改变序列的值。这是缺省值。

    • CASCADE | RESTRICT

      • CASCADE:级联清空所有由于CASCADE而被添加到组中的表。
      • RESTRICT(缺省值):完全清空。
    • partition_name

      取值范围:已存在的分区名。

    • partition_value

      指定的分区键值。

      通过PARTITION FOR子句指定的这一组值,可以唯一确定一个分区。

      取值范围:需要进行删除数据分区的分区键的取值范围。