首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在SQL Server 2008中将新索引部署到超大表的最佳方法

在SQL Server 2008中将新索引部署到超大表的最佳方法
EN

Stack Overflow用户
提问于 2010-02-22 17:20:28
回答 4查看 27.7K关注 0票数 20

我有一个生产中的数据库,其中一个表已经变得非常大(大量累积的数据)。

为了提高查询性能,我使用了sql server优化器,它建议使用一个新的索引。

因此,我制作了一个生产数据库的副本进行测试,它确实提高了性能,但是我的问题是,创建索引花费了大约24小时,并且在创建索引时应用程序不可用。

对于这个特定的应用程序,停机几个小时不是问题,但24小时的停机时间才是问题,我正在寻找一种方法来创建这个索引,而不必这样做。

目前我只有几个想法。

一种想法是将备份复制到另一台服务器。应用新索引和任何其他更改。将备份复制回生产服务器。关闭应用程序并合并自我备份以来的任何新数据。

当然,这有它自己的一系列问题,比如必须将数据重新合并在一起,因此我不喜欢这个想法。

这是SQL Server 2008标准版。

我通常通过脚本部署数据库更改。

更新:另一个想法是在几天内将归档数据分块移出主表。然后在表变得足够小时创建索引。然后慢慢地将数据迁移回来。

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

https://stackoverflow.com/questions/2309889

复制
相关文章

相似问题

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