Я бы пошел с , что @Michael предлагает .
Извлечение месяца и года из date
супер быстрая с EXTRACT
или to_char()
, вероятно, нет необходимости в предварительной обработке.
A date
занимает всего 4 байта на диске, вряд ли становится лучше, чем эта.
Возможной альтернативой могут быть 2 integer
столбцы с ограничениями на столбцы для защиты от недопустимых дат.Занимает 2 x 4 байта.
Или даже 2 smallint
для экономии оперативной памяти и дискового пространства.Прочитайте и поймите выравнивание данных в хранилище.Во многих случаях вы ничего не экономите с smallint
столбцами.См .:
Лучше всего использовать столбец date
.