TRUNCATE

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

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

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

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

      • TRUNCATE TABLE,删除内容,释放空间,但不删除定义。
      • DELETE TABLE,删除内容,不删除定义,不释放空间。
      • DROP TABLE,删除内容和定义,释放空间。
    • 清理表数据。
    • 清理表分区的数据。
    • table_name

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

    • CONTINUE IDENTITY

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

    • CASCADE | RESTRICT

      • CASCADE:级联清空所有由于CASCADE而被添加到组中的表。
      • RESTRICT(缺省值):完全清空。
    • PURGE:默认将表数据放入回收站中,PURGE直接清理。

    • partition_name

      目标分区表的分区名。

    • UPDATE GLOBAL INDEX

      如果使用该参数,则会更新分区表上的所有全局索引,以确保使用全局索引可以查询出正确的数据;如果不使用该参数,则分区表上的所有全局索引将会失效。