• 1
  • 2
  • 3
  • 4
  • 5
mysql数据库问题 首 页  »  帮助中心  »  数据库  »  mysql数据库问题
关于RDS中删除大表最快的办法
发布日期:2015-11-9 16:11:42

  关于RDS中删除大表最快的办法

  用户反馈在RDS中一张大表,表数据500多万条。

  现在需要删除请问3个命令中的哪个命令(Drop, Delete, Truncate) 速度最快,而且对RDS的CPU和IOPS影响最小?

  删除数据和表在RDS中有3中方法:

  delete 删除数据,在删除的时候备份了将要删除的数据。所以保留表结构,可以回滚,如果数据量大,很慢。

  有两个动作:

  1. 删除

        2. 备份

  truncate 速度相对较快,删除所有数据,保留表结构,不可用回滚,一次全部删除所有数据。

  删除数据时,只有一个动作,就是删除。

  drop 删除数据和表结构,删除速度最快。

  drop直接从内存中抹去这一块数据,而delete和truncate是在内存中找到数据,然后一条条的删除。

  使用要删除表中的数据最快的方法是truncate,并且对RDS的IOPS和CPU占用小。

  我们推荐使用truncate命令删除,因为drop可以删除数据,但是会连表结构一起删除,如果以后要再次使用表还需要新建表。

  如问题还未解决,请联系售后技术支持。