TSQL DateTime to DateKey Int

В Масштабирование хранилища данных с помощью SQL Server 2008 R2 автор рекомендует использовать целочисленный ключ даты в формате ГГГГММДД в ​​качестве кластеризованного индекса в таблицах фактов, чтобы оптимизировать скорость выполнения запросов.

Как лучше всего преобразовать поле контрольной даты в ключ даты? Я думаю, что следующее будет работать, но это немного небрежно:

select Replace(CONVERT(varchar,GETDATE(),102),'.','')

Ясно, что я использую не getdate, а скорее столбец даты в таблице, который будет использоваться в моих агрегатах.

Во-первых, как бы вы предложили сделать это преобразование? Приемлема ли моя идея?

Во-вторых, добился ли кто-нибудь большого успеха в использовании ключа даты в качестве кластеризованного индекса?

5
задан TylerH 9 March 2018 в 15:24
поделиться