delete,drop,truncate区别
delete:
- 删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率比truncate低)或delete table tb where 条件
- 删除内容不删除定义,不释放空间
- 用delete删除数据,然后添加。可以看到添加之后ID表示不连续。(说明delete删除不释放空间)
truncate: - 删除内容、释放内容但不删除定义。
- 与drop不同的是,它只是清空表数据而已,不删除表结构。
drop: - 删除内容和定义,释放空间。
- 把整个表去掉,以后要新增数据是不可能的,除非新增一个表。
truncate与delete比较: - truncate table在功能上与不带WHERE子句的delete语句相同:二者均删除表中的全部行
- truncate比delete速度快,且使用的系统和事务日志资源少。
- truncate操作后的表比Delete操作后的表要快得多
- truncate当表被清空后表和表的索引将重新设置成初始大小,而delete则不能。
delete不影响所用extent,高水线保持原位置不动;trustcate会将高水线复位。
高水线指的是自增的id
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/15932917.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署