хранение дат и времени в mysql

12
[umka]
На сайте с 25.05.2008
Offline
456
#11
Orangesoda:
И каков же запрос?

Ну, например, таков:

SELECT * FROM `table`

WHERE dt=(LAST_DAY(dt)-INTERVAL(MOD(DAYOFWEEK(LAST_DAY(dt))+1,7))DAY)

Это будет в тыщу раз быстрее, чем полная выборка и разбор на php.

Лог в помощь!
Orangesoda
На сайте с 22.08.2010
Offline
17
#12
Это будет в тыщу раз быстрее, чем полная выборка и разбор на php.

Какие ужасные вещи вы говорите.

Я предлагал в PHP вычислить дату, а дальше после WHERE сравнения.

Но вы правы, если такой запрос работает,

SELECT * FROM `table`
WHERE dt=(LAST_DAY(dt)-INTERVAL(MOD(DAYOFWEEK(LAST_DAY(dt))+1,7))DAY)

то он сработает намного быстрее.

dkameleon
На сайте с 09.12.2005
Offline
386
#13
Orangesoda:
Да ладно, форматы хранения дат придумали, чтобы не читать числа типа 71234091284.
INT'ы по определению сравниваются быстрее.

А расскажите, как вы в ИНТ запишете день рождения бабушки? :)

Дизайн интерьера (http://balabukha.com/)
FI
На сайте с 09.12.2010
Offline
2
#14

Ой... В общем действительно, лучше храните в INT, как и раньше..)) особенно исходя из ваших бурных споров, так оно вернее будет))

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#15

Я в первую очередь смотрю, как будет использоваться дата.

Если она нужна лишь: если дата сегодня больше, чем записано, то сделать то-то. То использую обычный int.

Если дата нужна именно для работы, её просматривать и сортировать по ней, то datetime формат использую + удобно смотреть в phpmyadmin

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
M1
На сайте с 09.12.2010
Offline
4
#16

DATETIME и TIMESTAMP лучше всего. Удобно использовать функции при работе с датами. А INT в unixtime хранить не советую, много потом возиться придется.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий