delete和truncate区别
2024-10-21 04:11:15
相同之处:truncate在功能上与不带WHERE子句的delete 语句相同:二者均删除表中的全部行。小心使用truncate,删除后就没有了
1、delete : 删除"表格记录"会把操作记录在日志中,可以通过事务回滚来恢复删除的数据。
truncate :删除"表格记录"不可恢复 。
2、delete :每次删除一行,并在事务日志中为所删除的每行记录一项。
truncate :过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
所以truncate 比delete速度快
3、 delete:删除内容,不删除定义,释放空间。
truncate :删除内容,不删除定义,不释放空间。
4、delete:语句不影响表所占用的extent, 高水线(high w2atermark)保持原位置不动
truncate: 语句缺省情况下将空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).
想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
最新文章
- CSharpGL(33)使用uniform块来优化对uniform变量的读写
- select、poll、epoll之间的区别总结[整理]
- 小型文件数据库 (a file database for small apps) SharpFileDB
- 使用Graphviz绘图(一)
- cookies
- Servlet3.0中Servlet的使用
- memcache的windows下的安装和简单使用
- 2014 网选 上海赛区 hdu 5047 Sawtooth
- Linux基本操作 9----- 认识与学习bash
- javascript——基本包装类型
- 安装duetdisplay遇到的问题
- XOR and Favorite Number(莫队算法+分块)
- android 进程和线程管理
- 安卓高级9 用原生intent分享
- 嵌入Python系列 | 调用Python模块中无参数函数
- mongod.service: control process exited, code=exited status=1
- SpringSecurity如何退出登录
- 12px以下字体显示问题
- CentOS 6.9上inotify-tools 安装及使用方法
- 管道pipe与dup结合使用,应用实例