Новая дата лучше, чем старая? - PullRequest
2 голосов
/ 31 мая 2011

В нашем хранилище данных есть таблица измерений CalendarTimeUTC, которая выглядит следующим образом:

enter image description here

PK в таблице - CalendarTimeUTCId (кластеризованный).Раньше это было поле Int.У всех таблиц фактов есть CalendarId (некоторые из них - таблицы с несколькими миллиардами строк).

Мы хотим перейти от установки значения DATE к значению DATE + HOUR в этом поле.

Примеры данных (старые и новые):

enter image description here

Теперь, с появлением SQL 2008 и блестящей новой реализацией DATETIME, есть причина для переключения столбца ID измерения изINT в DATETIME?

Как это повлияет на размер индекса в таблицах фактов?Что еще более важно, как это повлияет на производительность?

1 Ответ

1 голос
/ 15 июня 2011

Дата и время Тип данных занимает 8 байтов. Int Тип данных занимает всего 4 байта. Если бы вы хотели преобразовать в тип данных date (например, потому что вам нужно было использовать функции манипулирования датами), я бы предложил использовать smalldatetime , который занимает всего 4 байта.

Что касается индексов и производительности: поскольку индексы будут иметь одинаковый физический размер данных, я не думаю, что вы увидите снижение производительности или увеличение размера индексов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...