日期:2014-05-17  浏览次数:20568 次

请问drop和truncate的差别
  请问各位大神,假如我在做删除表中数据时,哪种速度或者说效率高,网上很多的说法,说什么数据大的话drop的再新建表会快点,我的想法也是这样的,但是这样数据好像不太安全,没法回滚,假若在的数据库正在给一个公司使用,肯定会有数据的产生,当正式发布的时候肯定要删除数据,我想问问当数据量大的时候,而数据没用,我用drop表,再select表,这样是不是快点。不知道我的意思各位懂不懂,还说学生,不太会表达,希望各位大神,帮忙说下自己的意见
数据库 数据

------解决方案--------------------
1.删除表确实是快。
2.数据确实没用了可以drop表,drop表后会连带删除表的索引,触发器等依赖对象。而truncate会保留表结构和依赖对象。
注意:Drop和truncate都是危险操作,需谨慎。
------解决方案--------------------
drop是一起,但是truncate直接操作区而不是页,速度快,truncate的话千万级数据也许只要1、2秒,然后drop一个空表,总共可能也就5秒左右,而且ldf文件不会很大,但是如果千万级的表直接drop,日志文件估计要增加好几百M,而且预测要1分钟以上