В Масштабирование хранилища данных с помощью SQL Server 2008 R2 автор рекомендует использовать целочисленный ключ даты в формате ГГГГММДД в качестве кластеризованного индекса в таблицах фактов, чтобы оптимизировать скорость выполнения запросов.
Как лучше всего преобразовать поле контрольной даты в ключ даты? Я думаю, что следующее будет работать, но это немного небрежно:
select Replace(CONVERT(varchar,GETDATE(),102),'.','')
Ясно, что я использую не getdate, а скорее столбец даты в таблице, который будет использоваться в моих агрегатах.
Во-первых, как бы вы предложили сделать это преобразование? Приемлема ли моя идея?
Во-вторых, добился ли кто-нибудь большого успеха в использовании ключа даты в качестве кластеризованного индекса?