XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

Mysql数据库drop、truncate和delete的区别

2025.04.09

今天在做公司项目的时候,产品要求清理数据库,删除试运行期间产生的数据,删就删,那在选择删除的时候是用drop、truncate、还是delete呢?这里就要探究一下三者之间的异同:

相同点:

  • 都可以实现删除数据的功能

不同点:

  1. Truncate是一个DDL命令,而DELETEE是一个DML命令
  2. Truncate不能被rollback,而DELETE是可以被rollback
  3. runcate不能触发数据库里面定义的触发器,而DELETEDELETE可以
  4. Truncate操作的执行速度比DELETE快
  5. Truncate是不可以加条件的,而DELETE可以加条件(where)
  6. DROP是直接从数据目录下删除数据,所以执行速度更快,DROP>TRUNCATE>DELETE, 同时DROP和TRUNCATET都会删除索引文件,而DELETE不会

通过以上的比较,对于数据量小的情况下,三个命令都可以实现,效率影响不大,对于数据较大(一般在百万以上了) ,要选择合适的命令,避免高射炮打蚊子。

© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB