我们根据IsActive(bit)标志对表进行了分区。 500k行中几乎有70%是最新的,我们想在2个不同的分区中写入新旧行。但是,当我想从表中返回数据时,我发现运行这两个查询时执行时间和I / O成本的差异。
SELECT [columns] FROM TableX WHERE $ PARTITION.partition_function_name(IsActive)= 2 - 分区具有活动记录。
SELECT [columns] FROM TableX WHERE IsActive = 1 - 返回活动行
有没有办法避免使用$ PARTITION.partition_function_name(IsActive)= 2 声明。我假设自从IsActive列分区后,它应该自动从右侧分区读取并以较低的成本返回给我。
执行计划明细