У меня есть строка DATETIME, и мне нужно только DATE в моем скрипте, чтобы выполнить поиск в моей базе данных. В настоящее время у меня в голове два сценария, но я не знаю, какой из них быстрее.
Первый сценарий:
В моей базе данных MYSQL у меня есть два столбца: datetime
(тип DATETIME) и date
(тип DATE).
Затем в моем скрипте PHP каждый раз, когда я сохраняю запись, я вставляю свою известную строку в поле datetime
, а затем преобразую ее, чтобы она соответствовала полю date
(я думал о чем-то вроде: $date = date("Y-m-d", strtotime($datetime))
).
Таким образом, все необходимые части хранятся в моей базе данных, и я могу получить их на лету (как поля datetime
, так и поля date
).
Второй сценарий:
База данных MYSQL должна состоять только из столбца datetime
.
Мой PHP-скрипт вставит известную строку в поле datetime
без каких-либо других изменений.
И когда я получаю свои данные, я делаю что-то вроде: SELECT datetime, DATE(datetime) FROM ...
Заключение
Какой из этих сценариев быстрее и, следовательно, должен использоваться? Должны ли быть сделаны форматы даты при сохранении или при получении? MYSQL быстрее, чем PHP при форматировании дат? Лучше ли хранить все в базе данных и извлекать как есть, или хранить только минимум и формат при извлечении? Какой из этих сценариев является лучшей практикой?
Спасибо!