


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Truncate 、drop、delete 的相同点与不同点总结相同点:1.truncate和不带where子句的delete、以及drop都会删除表内的数据。2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。不同点:Truncate :删除内容,释放空间但是不删除定义(用于删除表里的数据)Delete: 删除内容不删除定义,不释放空间(用于操作数据库)Drop: 删除内容和定义,释放空间 (用于删除表里的数据)现在对于SQL语言,有两个组成部分: DML(data manipulation language):它们是select、update、insert、delete,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。 DDL(data definition language):DDL比DML要多,主要的命令有create、alter、drop等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用1. truncate 和 delete 只删除数据不删除表的结构(定义)drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。2. delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。3.delete 语句不影响表所占用的 extent,高水线(high watermark)保持原位置不动drop 语句将表所占用的空间全部释放。truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;truncate 会将高水线复位(回到最开始)。truncate将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过truncate操作后的表比delete操作后的表要快得多4.速度,一般来说: drop truncate delete 如果有rollback命令delete将被撤销,而truncate,drop则不会被撤销。5.安全性:小心使用 drop 和 truncate,使用前必须对原数据备份!使用上,想删除部分数据行用 delete,注意带上where子句. 回滚段要足够大.想删除表,当然用 drop想保留表而将所有数据删除,如果和事务无关,用truncate即可。如果和事务有关,或者想触发trigger,还是用delete。如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。 语句实例: truncate table wap_cms_cp_user6.delete是DML语句,不会自动提交。drop/truncate都是DDL语句,执行后会自动提交。truncate是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对truncate使用rollback命令7、truncate table 在功能上与不带where 子句的 delete 语句相同:二者均删除表中的全部行。但 truncate table 比 delete 速度快,且使用的系统和事务日志资源少。delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。truncate table 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 8、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 delete。如果要删除表定义及其数据,请使用 drop table 语句。 9、对于由 foreign key 约束引用的表,不能使用 truncate table,而应使用不带 子句的 delete 语句。由于 Truncate table 不记录在日志中,所以它不能激活触发器。10、truncate table 不能用于参与了索引视图的表。(不能truncate 一个带有外间的表,如果要删除首先要取消外键,然后在删除 )11、当你不再需要该表时, 用 drop; 当你仍要保留该表,但要删除所有记录时, 用 truncate; 当你要删除部分记录时(always with
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB61T 862-2014 玉米 金岛8号规范
- 装修施工技术优化方案
- 2025清华大学公共管理学院职工招聘1人备考练习题库及答案解析
- 湿地公园景观照明与夜间管理方案
- 2025年08月广东广州市天河区美好居幼儿园编外聘用制专任教师招聘1人备考练习题库及答案解析
- 养老院信息数据管理与隐私保护方案
- 2025上海市闵行区浦江第三中学公开招聘考试参考试题及答案解析
- 2025海南琼海市人民医院考核招聘高层次人才1人(1号)考试参考试题及答案解析
- 工业品购销合同范本2篇
- 2025江西省井冈山应用科技学校兼课教师招聘22人备考练习试题及答案解析
- 商业地产策划案例(购物中心)
- 银行押运人员管理制度
- 北师大版四年级数学下册第五单元 认识方程标准检测卷(含答案)
- 信息系统授权制度
- 小学四年级上册劳动课教案设计
- 工程施工进度督促函
- 保护眼睛防近视课件
- 机关食堂2025年多元化饮食选择方案
- 人工智能应用开发合同
- QCC降低用药错误率护理品管圈
- 物业续签合同申请书
评论
0/150
提交评论