有人能详细说明partition_number和partition_id在sys.partitions (Transact- SQL )、server中的区别吗?如果一个可以工作,为什么我们需要两个不同的if?
发布于 2020-10-17 11:40:43
从文档链接中添加了重点
partition_id:指示分区ID.是数据库中的唯一。partition_number:是拥有索引或堆中基于1的分区号。对于未分区的表和索引,此列的值为1。
partition_id是数据库中分区的id。partition_number用于它所处的对象,因为一个表可以有多个分区,一个数据库可以有多个分区表。
发布于 2020-10-17 11:44:34
partition_id对数据库是唯一的,类似于表的PK。partition_number是分区表或索引中的值,因为表(如果分区)将有多于一个分区。
如果您查看这篇文章,您将看到表中的日期如何具有不同的partition_numbers的示例。

要查看正在使用的partition_id,请参阅这篇文章,它显示了对数据库中的分区表/索引的查询。

以下查询也摘自本文:
SELECT *
FROM sys.partitions
WHERE object_id = OBJECT_ID('dbo.HeapTest');
SELECT *
FROM sys.partitions
WHERE object_id = OBJECT_ID('dbo.ClusteredIndexTest');https://stackoverflow.com/questions/64401974
复制相似问题