truncate、delete与drop的异同点:

truncate、delete与drop的异同点:
相同之处:三者均会删除表内的数据。
不同点:  
1、truncate与delete :只删除数据,而不删除表的结构(定义)        
   drop语句删除表定义及该表的所有数据、索引、触发器、约束和权限规范;依赖于该表的存储过程/函数将被保留,
   但其状态会变为:invalid。 
2、delete操作记录到事务日志中,以后可以根据事务日志恢复数据。truncate操作不记录到事务日志,该操作不可恢复。
3、如果有触发器的话,delete会激发触发器。truncate与drop,则不会。  
4、如果表内有标识种子的话,delete数据后,该标识种子不重置,会在原来基础上继续增长。
   truncate则会把标识重新置为初始值,重新开始增长。
5、速度:一般而言,drop > truncate > delete。  
6、安全性:在没有备份情况下,谨慎使用 drop 与 truncate。要删除部分数据行采用 delete且注意结合where来约束影响范围。
   回滚段要足够大。要删除表用drop;
如果要看详细的异同点,还要参考联机帮助。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值