首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从分区表中删除主键约束是否会破坏分区?

问从分区表中删除主键约束是否会破坏分区?
EN

Database Administration用户
提问于 2012-09-13 21:14:34
回答 1查看 2.2K关注 0票数 6

在日期列上有一个已分区的表。表的主键是此日期列和其他4列的复合键。

我们正在考虑从这个表中删除主键约束,并简单地创建一个新的非聚集索引。

如果删除主键约束,是否会影响分区,因为分区列是主键的一部分?

EN

回答 1

Database Administration用户

发布于 2012-09-14 03:06:10

它不应该影响表的分区,因为表是在分区方案上创建的,并指定了分区列。

每个分区都有自己的HOBT (堆或B树)。从本质上说,你的桌子上的每一次约会都有一个HOBT。

如果主键也是聚集索引,则将每个分区的B-树转换为堆。根据表的大小,将数据从B树移动到堆中可能需要相当多的时间和资源。建议在尝试删除聚集索引之前删除所有非聚集立体体,然后在(或禁用/重建)之后重新创建它们。以下是Microsoft的详细说明:

“删除聚集索引时,存储在聚集索引的叶级的数据行存储在无序表(堆)中。删除聚集索引可能需要时间,因为除了删除聚集索引外,必须重新构建表上的所有非聚集索引,以便用堆的行指针替换聚集索引键。当您将所有索引删除到表上时,先删除非聚集索引,最后再删除聚集索引。”

http://msdn.microsoft.com/en-us/library/ms190691%28v=SQL.90%29.aspx

我不会评论这样做对查询性能的影响,因为我不熟悉如何查询表。

与任何重大更改一样,在尝试进行此更改之前,请确保在测试环境中尝试此更改。

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

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

复制
相关文章

相似问题

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