azure sql 日期时间字段的索引策略
azure sql indexing strategy on datetime fields
我在 table(sql 天蓝色)、Migrated
和 Updated
中有两个 datetimeoffset
字段
我经常搜索select * from table where Migrated < Updated
索引这些字段的正确策略是什么?
- 两个索引,每个字段一个
Migrated
、Updated
上的一个索引
Updated
、Migrated
上的一个索引
Table 很大,需要索引...
在大多数版本的SQL服务器中,您可以采用以下方法。我没有在 SQL Azure 中尝试过。
创建计算列,然后在其上创建索引:
alter table t add MigratedToUpdatedTime as (datediff(seconds, Migrated, Updated))
create index t_MigratedToUpdatedTime on t(MigratedToUpdatedTime);
然后在你的 where
子句中,你可以这样做:
where MigratedToUpdatedTime > 0;
我在 table(sql 天蓝色)、Migrated
和 Updated
datetimeoffset
字段
我经常搜索select * from table where Migrated < Updated
索引这些字段的正确策略是什么?
- 两个索引,每个字段一个
Migrated
、Updated
上的一个索引
Updated
、Migrated
上的一个索引
Table 很大,需要索引...
在大多数版本的SQL服务器中,您可以采用以下方法。我没有在 SQL Azure 中尝试过。
创建计算列,然后在其上创建索引:
alter table t add MigratedToUpdatedTime as (datediff(seconds, Migrated, Updated))
create index t_MigratedToUpdatedTime on t(MigratedToUpdatedTime);
然后在你的 where
子句中,你可以这样做:
where MigratedToUpdatedTime > 0;