[sql]truncate与delete的区别

来源:互联网 发布:淘宝有没有死店一说 编辑:程序博客网 时间:2024/06/06 20:37

[sql]truncate与delete的区别

1 当表被truncate后,此表的索引或表所占用的空间会被释放

2 当表被delete后,此表的索引或表所占的空间不会被释放

  因此可能会导致下面的情况发生:select * from A 非常慢(A中只有100条数据)

  表A不断被delete数据,然后又insert数据,重复很多次。假设现在表A中有100条数据,小明在select * from A的时候,可能这条语句会跑很久。这就是由于delete表后,数据虽然没有了但是表原先所占的空间还存在。而后又insert数据,导致每一次delete、insert后,表A所占的空间非常大(虽然我们知道表A最终只有100条数据)。在select时就会很慢。




1 0
原创粉丝点击