首页 > 编程知识 正文

delete oracle,mysql truncate很慢

时间:2023-05-06 02:16:20 阅读:173511 作者:4423

Truncate和delete的区别: 1、delete是数据操作语言,不仅可以删除表中的数据,还可以删除基于实际表创建的视图中的数据。 此外,还可以正确删除与where条件组合的数据。 此外,还可能涉及触发器。 Truncate是一种数据定义语言,只能删除表中的数据,不会影响视图。 此外,不支持where子句。 如果作用于表,则会直接删除表中的所有数据,并且不会设计触发器。

2、删除删除数据涉及缓存,如果数据非常大,缓存可能会不足,速度可能会变慢。 因为Truncate与缓存无关,所以如果涉及大量数据,用Truncate删除数据更快、更高效。

3、删除表时,delete可以与事物相关,支持事物的提交和回滚。 首先,可以将删除的数据放入缓存中,然后通过回滚恢复数据,而不是实际删除。 无法恢复truncate的删除数据,因为truncate与事务无关。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。