SQL Server分区表按行数大于1的列数据和分区筛选

问题描述 投票:-1回答:2

[我有一个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标志?

sql sql-server sql-server-2016 partitioning
2个回答
0
投票

这里是解决方法:


0
投票

如果您想要一个不需要扫描表的解决方案,则可以在索引视图中跟踪每个分区的统计信息。

© www.soinside.com 2019 - 2024. All rights reserved.