数据库硬盘空间可用小于90%解决的方案( 二 )


truncate 命令则仅仅删除了表中所有的数据行 。表的结构和所有的索引仍然继续存在,直到你输入删除表的命令(如上所述) 。绑定到列上的规则、默认值、约束仍然继续绑定,并且触发器也仍然起作用 。
截断表命令还会回收所有索引的分配页 。
截断表的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快 。delete(删除) 一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志;而truncate (截断)表则回收整个数据页,只记录很少的日志项 。delete(删除)和truncate(截断)都会回收被数据占用的空间,以及相关的索引 。只有表的拥有者可以截断表 。




推荐阅读