Мы должны сохранить день и месяц ежегодного повторяющегося события. (Думайте об этом как о том году, когда счет должен быть отправлен клиенту.)
Мы должны сделать некоторые вычисления с этой информацией. Например, если клиент платит дважды в год. Тогда мы должны не только проверить, наступил ли сегодня этот день, но также и наступить ли этот день через 6 месяцев.
Теперь у нас есть несколько вариантов:
а) Мы сохраняем информацию в поле ДАТА, но игнорируем год.
б) Создаем два поля int в базе данных date_day и date_month.
c) Мы создаем поле varchar, а затем выполняем регулярное выражение и разделяем, например, 31,12 каждый раз, когда мы делаем некоторые вычисления.
Мы провели несколько тестов и обнаружили, что c) определенно слишком медленный. Но у нас еще есть вариант а) и б). Сначала мы хотели перейти к пункту б), но после некоторых испытаний мы склонны больше к а).
Есть ли хорошая техническая причина, которая действительно сделала бы один вариант намного лучше, чем другой?
(Сейчас мы используем MySQL. Если это важно.)