首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更快地删除大型SQL Server中的数据?

如何更快地删除大型SQL Server中的数据?
EN

Stack Overflow用户
提问于 2014-04-01 06:22:54
回答 1查看 111关注 0票数 1

我有一个SQL Server数据库。大小约为150 is,这为分析保存了一些数据。每天都有新的数据进来,我们需要删除旧的数据(基于日期)。最近,每天的数据量增加了很多,很快就会达到每天8-9 9GB。

目前我们是小批量删除,需要很长时间才能完成。有没有能让它更快的通用指南?尝试在删除前删除/禁用索引,删除完成后再重新生成索引。这不会有多大帮助。

或者,这将完全取决于实际日期?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-04-01 06:26:42

给定数据量,我将使用一个分区表,每天一个。

换入换出分区将是删除一天内所有数据的最快方法。

编辑:由于截断分区并不像它在SQL Server中应该做的那样简单,我想我将提供更多细节,如果您不熟悉分区的话。

在SQL Server的下一个版本中,您应该能够只使用TRUNCATE PARTITION或类似的东西。在此期间,您必须执行以下操作:

删除数据库中某一天的数据的最快方法是按天对表进行分区,然后:

将您想要删除的分区换出到另一个表中:ALTER TABLE partitioned SWAP PARTITION n TO otherTableToDelete.

  • TRUNCATE TABLE otherTableToDelete.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22773369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档