/ / strategia di indicizzazione sql sql su campi datetime - sql, indicizzazione, database azure-sql

Strategia di indicizzazione di sql azure su campi datetime - sql, indicizzazione, azure-sql-database

ne ho due datetimeoffset campi nella tabella (sql azzurro), Migrated e Updated

Di solito faccio questa ricerca select * from table where Migrated < Updated

Quale sarebbe la strategia giusta per indicizzare questi campi?

  1. due indici, uno per ogni campo
  2. un indice su Migrated, Updated
  3. un indice su Updated, Migrated

La tabella è enorme e richiede l'indicizzazione ...

risposte:

2 per risposta № 1

Nella maggior parte delle versioni di SQL Server, è possibile adottare il seguente approccio. Non ho provato questo in SQL Azure.

Crea una colonna calcolata e quindi un indice su quello:

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

create index t_MigratedToUpdatedTime on t(MigratedToUpdatedTime);

Quindi nel tuo where clausola, puoi fare:

where MigratedToUpdatedTime > 0;