我有一张表,可以每天保存商店中产品的库存信息。它就像:
|------------|-----------|---------|-----------------|
| Date | ProductId | StoreId | InventoryOnHand |
|------------|-----------|---------|-----------------|
| 2017-10-11 | 348 | 121 | 2 |
| 2017-10-11 | 110 | 200 | 0 |
| 2017-10-11 | 254 | 587 | -2 |
| 2017-10-12 | 311 | 875 | 26 |
| 2017-10-12 | 954 | 364 | 15 |
| 2017-10-12 | 348 | 121 | 0 |
| 2017-10-12 | 441 | 121 | 7 |
| . | . | . | . |
| . | . | . | . |
| . | . | . | . |
|------------|-----------|---------|-----------------|
在我使用的大多数查询中都有类似WHERE InventoryOnHand > 0
的条件。我需要加快这些查询。
因此,我想构建和索引用于分隔列InventoryOnHand
上的值,无论它们是否大于0。
Filtered Index无法解决我的问题,因为如果我使用过滤索引,则所有大于0的值都将被编入索引,这会增加索引大小。我只需要知道一个大于0的值。
即。我想构建一个仅在条件为InventoryOnHand > 0
时才有效的索引。有没有办法在SQL-Server上执行此操作?