互联网服务

如何删除一张大表的几个月前的数据

有一张大表 数据量在 600W+ 在做导出备份时,因为该表的存在 严重影响到 当时系统的性能,(是否用办法EXPORT全库导出的时候 不导出这张表?)目前和应用协商将该表数据删除到只保留3个月的数据,用DELETE 删除实务日志 肯定会满。。现在在运行的情况下 是否可以用  ALTER...显示全部
有一张大表 数据量在 600W+
在做导出备份时,因为该表的存在 严重影响到 当时系统的性能,(是否用办法EXPORT全库导出的时候 不导出这张表?)

目前和应用协商将该表数据删除到只保留3个月的数据,

用DELETE 删除实务日志 肯定会满。。

现在在运行的情况下 是否可以用  ALTER TABLE ACTIVATE NOT LOGGED  ?


有没有更好的办法 只留下3个月数据?收起
参与15

查看其它 13 个回答itsbegin的回答

itsbeginitsbegin软件开发工程师上海通联支付
不要用什么NOT LOGGED,数据量有点大,必须用分区表来进行管理维护。数据库版本要升级到9.7,此版本支持分区表的分区索引,而之前的版本是只有全局索引的。改造成分区表需要注意:

1. 分区表改造需要确认好分区方式,范围分区确认先一次性创建好足够的分区,并定期进行分区信息添加。
2. 应用方必须和DBA配合,针对所有对这个表的访问SQL进行分区表性能测试,避免分区改造的性能问题,并同时确认索引创建方式。
3. 分区表创建好后停止应用并通过导出/导入方式实现数据迁移到分区表,不要删除原始数据表避免误操作后无法恢复。
4. 分区表数据导入后检查导入日志和对表进行统计。

将来使用DETACH进行数据删除的效率和安全性,和一个大表不可同日而语,赶紧制定分区表改造计划吧!

祝顺利!
互联网服务 · 2013-03-14
浏览1110

回答者

itsbegin
软件开发工程师上海通联支付
擅长领域: 数据库

itsbegin 最近回答过的问题

回答状态

  • 发布时间:2013-03-14
  • 关注会员:1 人
  • 回答浏览:1110
  • X社区推广