首页 > 解决方案 > 如果谓词 col 是字段中的一个因素,SQL Server 将如何查询使用计算字段分区的表?

问题描述

假设您有表t,其中 statusID 是基于状态的计算字段。“实时”=1,“已删除”=2,依此类推。 t由 statusID 分区,这意味着所有 1 进入一个分区,所有 2 进入另一个分区等。现在让我们查询t。如果我想要所有实时记录,我可以使用WHERE status='live'还是必须使用where statusID=1以利用分区?

ID val1 val2 地位 状态ID
1 美国广播公司 美国广播公司 居住 1
2 xyz XYZ 已删除 2
3 酒吧 存档 3

我们有一些现有的表变得非常大,以及利用索引状态列的代码。对于大多数负载来说,这很好,但是随着行数达到数百万,我们开始看到连接问题。

标签: sqlsql-serverpartitioning

解决方案


推荐阅读