truncate 与 delete 有何不同

  • Post author:
  • Post category:其他


truncate 是 DDL 语句,delete 是 DML 语句。truncate 快速清除表行数据是通过删除数据字典中 segment 的定义实现的,不会产生重做。

delete 则是在高速缓存缓冲区对块进行操作,会产生重做数据,删除表行数据比较慢。

DDL:数据定义语言,用于定义和管理SQL数据库中的所有对象的语言,对数据库的某些对象进行管理

DML:数据操作语言,SQL中处理等操作统称为数据操纵语言,实现了基本的“增删改查”操作

除此之外还有DQL和DCL。

DQL(Data Query Language)语句:数据查询语言,主要是对数据进行查询操作。常用关键字有 SELECT、FROM、WHERE 等。

DCL(Data Control Language)语句: 数据控制语言,主要是用来设置/更改数据库用户权限。常用关键字有 GRANT、REVOKE 等



版权声明:本文为qq_50730941原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。