/ / azure sql stratégie d'indexation sur les champs datetime - sql, indexation, azure-sql-database

Stratégie d'indexation azure sql sur les champs datetime - SQL, indexation, base de données azure-sql

j'en ai deux datetimeoffset champs dans la table (sql azure), Migrated et Updated

Je fais habituellement cette recherche select * from table where Migrated < Updated

Quelle serait la bonne stratégie pour indexer ces champs?

  1. deux index, un pour chaque champ
  2. un index sur Migrated, Updated
  3. un index sur Updated, Migrated

Le tableau est énorme et nécessite une indexation ...

Réponses:

2 pour la réponse № 1

Dans la plupart des versions de SQL Server, vous pouvez adopter l'approche suivante. Je n'ai pas essayé cela dans SQL Azure.

Créez une colonne calculée puis un index sur cela:

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

create index t_MigratedToUpdatedTime on t(MigratedToUpdatedTime);

Puis dans votre where clause, vous pouvez faire:

where MigratedToUpdatedTime > 0;