范文无忧网范文学习范文大全

MySQL DELETE语句和TRUNCATE TABLE语句的区别

01月06日 编辑 fanwen51.com

[励志正能量语句有哪些]1. 每天早上叫我们起床的不是闹钟,而是梦想。 2. 所谓岁月静好,是因为负重前行 3. 本是追梦年龄,又怎可过于安静,枉自蹉跎流光。 4. 不以物喜,不以己悲。 5. 子非鱼,安知鱼之乐? 6....+阅读

在逻辑上truncate table和delete语句都可以删除表里面所有数据,但是在一些情况下有些不同:

对于InnoDB表

1,如果没有外键关联,innodb执行truncate是先drop table(原始表),再创建一个跟原始表一样空表,速度要远远快于delete逐条删除行记录。

2,如果使用innodb_file_per_table参数,truncate table 能重新利用释放的硬盘空间,在InnoDB Plugin中,truncate table为自动回收,如果不是用InnoDB Plugin,那么需要使用optimize table来优化表,释放空间。

3,表有外键关联,truncate table删除表数据为逐行删除,如果外键指定级联删除(delete cascade),关联的子表也会会被删除所有表数据。如果外键未指定级联(cascde),truncate table逐行删除数据,如果是父行关联子表行数据,将会报错。

4,auto_increment计数器在truncate table后会重置为0.与是否有外键关联没有关系。

延伸阅读:

有哪些正能量的经典语句1、我们的命运由我们的行动决定,而绝非完全由我们的出身决定。机会永远都不会平等,但结果却可能平等。 2、你把幸福捧在手里,看似微不足道,一旦放手,你便立刻感觉到它的重要与珍...

能让内心强大的语句有哪些1.活着一天,就是有福气,就该珍惜。当我哭泣我没有鞋子穿的时候,我发现有人却没有脚。 2.宁可自己去原谅别人,莫让别人来原谅你。 3.世界原本就不是属于你,因此你用不着抛弃,要抛弃...

齐美尔货币哲学的经典语句精选句子 货币只是一条通往最终价值的桥梁,而人,永远无法在桥上栖居。人最终能够安然栖居的,是自己的心灵 《桥与门》必读好句 大城市人的个性特点所赖以建立的心理基础,是表面...

很有意境韵味的英语句子歌词我站在天堂向你俯身凝望,就像你凝望我一样略带忧伤 。 I looked over to you in heaven, as you stare me with sorrow. ? 当你真正爱一样东西的时候你就会发现语言多么的脆...

那些唯美的英语句子你喜欢哪一句一、Someone said, my love, I just thought.有人说,我的爱情只是我的自以为。 二、You will only break my heart.你只会伤我的心。 三、Sleep away the sadness of today....

关于SQL删除语句TRUNCATE和DELETEtruncate操作同没有where条件的delete操作十分相似。 1、无论truncate大表还是小表速度都非常快。delete要产生回滚信息来满足回滚需求,而truncate是不产生的。 2、truncate...

1 DELETE和TRUNCATE有什么区别分别写一个例子delete from aa truncate table aa 区别 1。delete from后面可以写条件,truncate不可以 2。delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整...

mybatis中怎么执行 truncatemybaits是对jdbc的封装,一样可以执行sql语句,而truncate也算sql语句,所以直接写sql语句配置在mapper.xml中,再用你惯用额方式调用即可。 1:在Mybatis配置文件中加上以下配置: <!-...

怎么赋truncate权限给其他用户-- oracle中truncate其他用户的表必须要有drop any table权限,如果没有此权限,可以采用下面的方法 -- 1.创建存储过程 create or replace procedure truncate_tbl (table_name...

推荐阅读
图文推荐
栏目列表