首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库大小增加后索引Rebuild.How恢复下来?

数据库大小增加后索引Rebuild.How恢复下来?
EN

Database Administration用户
提问于 2018-12-23 06:43:21
回答 1查看 2.6K关注 0票数 0

我为数据库中的一个大型表执行了索引重建,因为它是85%的碎片。索引重建完成后,数据库文件的大小从19 GB增加到27 GB。

重建选项:

代码语言:javascript
复制
(PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = ON, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

我的问题是:在不增加索引碎片的情况下,是否有减少数据库文件大小的解决方案?

EN

回答 1

Database Administration用户

发布于 2018-12-26 17:43:53

用户比朱·何塞在评论中对你的问题框架提出了质疑,我认为这可能是你能得到的最有帮助的答案:

我认为您不应该缩小数据库以恢复空间,因为一旦您进行了重新构建之后,它将再次增长。这里的要点是,您的数据库也应该有空间来容纳您的维护任务!

如果您真的迫切需要这8 GB的空间返回,您可以使用DBCC SHRINKFILE的数据文件,以缩小它的一些。但是,请注意,这可能会导致一些碎片。这里详细描述了这个无益的循环(碎片->重新构建->空空间->收缩->碎片->重复):

用数据库缩小数据库有什么坏处?

如果您想要一个更好的不收缩文件的其他原因的集合,请检查这个(以及它链接到的所有文章):停止缩小数据库文件。我是认真的。现在。

伦道夫·韦斯特在注释中很有帮助地指出,如果您确实需要减少碎片,而不需要过多地扩展文件,则可以对索引执行REORGANIZE。这需要比索引更少的工作空间,但也只能消除某些类型的碎片(它重新排列和压缩索引的叶页,但不像REBUILD那样拖放和重新创建整个过程)。

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

https://dba.stackexchange.com/questions/225664

复制
相关文章

相似问题

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