Я стою перед дилеммой о сохранении значений даты и времени в формате TIMESTAMP MySQL по сравнению с пользовательским форматом UNSIGNED INT.Основными соображениями здесь являются скорость поиска, соответствующие вычисления диапазонов в PHP и периодическое форматирование в удобочитаемые значения.
Место для хранения, необходимое для каждого типа и их диапазонов:
DATETIME 8 bytes '1000-01-01 00:00:00' to '9999-12-31 23:59:59'
TIMESTAMP 4 bytes '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC
UNSIGNED INT 4 bytes (Maximum Value 4294967295)
Не знаюнужен диапазон DATETIME на всех.Я разрываюсь между TIMESTAMP и UNSIGNED INT.
Аргументы в пользу UNSIGNED INT:
- Метка времени UNIX 4294967295 конвертируется в Sun, 07 февраля 2106 06:28:15 GMTчто больше, чем TIMESTAMP и достаточно хорошо для меня
- Сравнение этих временных меток напрямую в PHP будет быстрее, чем преобразование TIMESTAMPs через strtotime (), а затем сравнение их
Единственное преимущество TIMESTAMPя бы сказал, когда я читаю значения из таблицы mysql вручную и мне нужно «увидеть» их.
Есть ли веская причина использовать TIMESTAMP, а не UNSIGNED INT?