网站建设中 页面,工业和信息化部投诉平台入口,搭建平台的成语,重庆江北营销型网站建设公司推荐相同点:用于删除数据,同时保留表结构.
不同点:
TRUNCATE比DELETE更快(数据量小可能体现不出来,单数据量大就很明显了)
原因:TRUNCATE是DDL(数据定义语言)DELETE是逐行删除属于(DML)
TRUNCATE 不会产生大量日志,但DELETE删除会产生大量日志
DELETE FROM 可以加WHERE子句指定…相同点:用于删除数据,同时保留表结构.
不同点:
TRUNCATE比DELETE更快(数据量小可能体现不出来,单数据量大就很明显了)
原因:TRUNCATE是DDL(数据定义语言)DELETE是逐行删除属于(DML)
TRUNCATE 不会产生大量日志,但DELETE删除会产生大量日志
DELETE FROM 可以加WHERE子句指定删除条件,TRUNCATE不支持带条件
DELETE可以回滚
TRUNCATE不可以回滚 DELETE不会重置主键
TRUNCATE会重置主键 这里也说明下
DDL(数据定义语言)一旦操作不可回滚
DML(数据操作语言):默认情况也不可以回滚.但是在执行DML语言之前
SET AUTOCOMMITFASLE 则执行的DML操作就可以实现回滚 SET AUTOCOMMITFASLE 是一次会话有效 BEGIN TRANSACTION 或 START TRANSACTION 是开启新事务 SET AUTOCOMMITFASLE 针对的是一次会话
在同一次会话中,多次操作都是一个新事务 遇到COMMIT或ROLLBACK事务结束,但是同一次会话中无需开启新的事务,会自动开启 BEGIN TRANSACTION 或 START TRANSACTION针对的是一次新事务的操作
COMMIT或ROLLBACK后结束