MySQL------truncate和delete 的区别

news/2024/11/23 2:28:37/

truncate:删除内容,释放空间,但不删除定义。(表结构还在,数据删除)

truncate table test;

delete:删除内容,不删除定义,也不释放空间。

truncate table test;

释放空间:
delete删除的行数据是不释放空间的,如果表id是递增式的话,那么表数据的id就可能不是连续的;
而通过truncate删除数据是释放空间的,如果表id是递增式的话,新增数据的id又是从头开始,而不是在已删数据的最大id值上递增。

delete和truncate的区别

1、delet删除数据时,是一行一行地删除,每删除一行数据,就在事务日志中为删除的那行数据做一项记录,因此可对delete操作进行回滚(roll back);

truncate删除数据时,是通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放;

truncate 的执行速度比 delete 快,且使用的系统和事务日志资源少;

2、delete 可以删除部分行数据, truncate 只能删除表中所有数据。

3、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的触发器(trigger),执行的时候将被激活。
truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不激活触发器(trigger)。

4、truncate 在删除表中的所有行后,表的结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用delete。

5、truncate 将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过 truncate 操作后的表比Delete操作后的表要快得多。

6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。

7、truncate 不能清空父表。

8、truncate 不能用于参与了索引视图的表。


http://www.ppmy.cn/news/751177.html

相关文章

BM67-不同路径的数目(一)

题目 一个机器人在mn大小的地图的左上角(起点)。 机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。 可以有多少种不同的路径从起点走到终点? 备注:m和n小于等于100,并保证计算结果在int…

苹果宣布iOS切分为二独立出iPadOS操作系统

2019独角兽企业重金招聘Python工程师标准>>> 在开发者大会WWDC 2019上,苹果宣布将把iOS切分为二,独立出专为iPad设计的操作系统iPadOS,改版主屏幕(Home Screen)画面、支持多任务、支持USB碟及SD卡&#xff…

《Adobe Premiere Pro CC完全剖析》——系统设计

本节书摘来自异步社区《Adobe Premiere Pro CC完全剖析》一书中的第1章,系统设计,作者 【美】Jeff I. Greenberg(杰夫格林伯格) , Christine Steele(克里斯汀•斯蒂尔) , Luisa Winters(路易莎温特斯) , Tim Kolb(蒂姆科尔)&#…

移动应用UI设计(上)

1. 复杂的中文输入 拼音模糊匹配 中文的输入法千差万别,从拼音、手写、部首到颇具怀旧风的九宫格输入等,花样百出,尽管不同年代、不同成长环境的用户会选择不同的输入法,拼音输入却还是最为常用的一种。 但在中国的网站和App上&a…

MacOS Catalina终于来了!升级前先来看看有哪些亮点?

内容来源 果汇君 编辑整理 文 | 贾乾 10月8日,苹果推送macOS Catalina正式版(macOS 10.15),用户可以在Mac APP Store中进行升级。 经过一段时间使用后,新浪数码带大家一起看看新系统具体有哪些更新,值不值得升级。 旧功能改善部分…

xshell产品运行所需的信息检索失败_苹果最薄的电脑停产了,但它并不失败

最近 MacBook Air 和 MacBook Pro 的更新再次给大家来了个措手不及,上周捧着刚买的 MacBook Air 美滋滋回家的朋友泪了,因为这是属于「等等党」的胜利。 在这次更新中,年初缺席的 MacBook Air 和入门款 MacBook Pro 都获得了处理器和功能升级…

Android应用程序开发以及背后的设计思想深度剖析

原文链接:http://www.uml.org.cn/mobiledev/201211063.asp#2 初步过了一下,很多地方写得还是比较深入的,先转载,后面再仔细看看。 本文内容,主题是透过应用程序来分析Android系统的设计原理与构架。我们先会简单介绍一…

使用redisson客户端java位移运算实现多条件排名

1、使用条件说明,由于一个分区有大概1万学生按照答题分数进行实时排名。所以采用redisson的RScoredSortedSet分数排序 2、排序的条件: 第一步、按照分数排序 第二步、如果分数相等按照附加题的分数排序 第三步、如果附加题的分数还相等则按照提交答案的时…