DELETE操作会将数据行记录在日志文件中,因此,大批量删除数据时,会有大量的日志生成。
如下代码将删除ProductID为219的产品。
DELETE Production.Product WHERE ProductID=219;
TRUNCATE TABLE操作可删除整张表的数据,并且不会对所删除的数据生成记录日志,因此当需要删除一个大表的数据时,TRUNCATE TABLE是一个不错的选择,它可以减少日志的记录,提高数据删除的效率。
例如,下面的两个语句,效果是一样的,它们的区别在于,TRUNCATE TABLE不会将数据记录在日志中,日志文件使用比较少,而DELETE语句需要对删除的数据记录UNDO日志,日志空间使用量比较大。
DELETE Production.Product;
TRUNCATE TABLE Production.Product;