[我有一个SQL Server分区表,在其中获取行数> 1的数据,但是我遇到了IsActive列并想拉出行数> 1且IsActive = true的活动分区的情况。
SELECT
C.partition_number
FROM
sys.partition_functions A
INNER JOIN
sys.partition_range_values B ON (B.function_id = A.function_id
AND A.name = 'pf_Employee')
INNER JOIN
sys.partitions C ON (C.partition_number = B.boundary_id
AND OBJECT_NAME(C.object_id) = 'Employee'
AND C.index_id = 0)
WHERE
C.rows > 0;
如何在上述查询中与IsActive
一起添加C.rows > 0
标志?
这里是解决方法:
如果您想要一个不需要扫描表的解决方案,则可以在索引视图中跟踪每个分区的统计信息。