日期:2014-05-16  浏览次数:20848 次

SQL SERVER快速删除数据库表里面的记录,truncate与delete的对比

用BulkInsert向数据库里面的一个表里插入40W条数据,因为这个数据是实时更新的,所以每次都会先将表里面的数据全部删除,再将新来的数据插入进去,所以效率主要是在删除数据这儿。最开始我用的是delete,

delete from tb_data

再bulkinsert将数据入库,我会将这两个sql语句写到一个事务里面去,这样的话错误会回滚,但是我发现这样效率会比较低。所以我又在网上看到了truncated

truncate table tb_data

这样一改效率就提升多了,但是我发现这样的话就不能用事务了,所以到底用哪个,我还需要仔细衡量下。

总的来说,truncate和delete的主要区别就是在此,提出来和大家一起学习下。