删除数据表中的数据,数据量比较大,怎么能快速删除

数据表中的数据量很大,现在想删除前三个月的数据,除了delete from where 还有什么方法能比较快速的删除这些数据?求数据库大神指导!

阅读 8.2k
3 个回答

1.你可以把三个月之后的插入新表

  1. truncate table 老表
  2. 把新表中的数据导入老表

如果你的删除需求经常有,那么建议你分表,这样对旧数据的删除就变为drop table,秒速执行

再给你点思路:

1、关闭日志或者调整日志缓冲区大小,反正就是磁盘io上想办法
2、上面一个哥们的方法导最近三个月的数据到新表也可以,不过要用新名的,在线表就麻烦了
3、表改个名很快的,在表上建个源表名的视图,只读取这张表的最近三个月数据,然后原来那张表就写个shell慢慢delete去吧
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进