日期时间字段上的azure sql索引策略

时间:2015-04-10 14:47:16

标签: sql indexing azure-sql-database

我在表格中有两个datetimeoffset字段(sql azure),MigratedUpdated

我通常会执行此搜索select * from table where Migrated < Updated

索引这些字段的正确策略是什么?

  1. 两个索引,每个字段一个
  2. MigratedUpdated
  3. 上的一个索引
  4. UpdatedMigrated
  5. 上的一个索引

    表格很大,需要编制索引......

1 个答案:

答案 0 :(得分:2)

在大多数SQL Server版本中,您可以采用以下方法。我没有在SQL Azure中尝试过这个。

创建一个计算列,然后创建一个索引:

alter table t add MigratedToUpdatedTime as (datediff(seconds, Migrated, Updated))

create index t_MigratedToUpdatedTime on t(MigratedToUpdatedTime);

然后在你的where条款中,你可以这样做:

where MigratedToUpdatedTime > 0;