![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| MystDeim |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 22.10.2007 Где: Россия->Юбилей ный Репутация: нет Всего: нет |
Никак не могу выбрать как лучше хранить в TIMESTAMP или INT
Посоветуйте, пожалуйста, кто что использует в реальных проектах. --------------------
Учебные материалы для студентов http://studlab.org |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 5 Всего: 54 |
MystDeim, timestamp
-------------------- ![]() |
|||
|
||||
| SamDark |
|
|||
|
Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 2 Всего: 38 |
Храню в int, приведённый к GMT +0;
-------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
Неправильная постановка вопроса. Надо спрашивать не "кто что использует", а "что лучше использовать для такой-то задачи, при таких-то ожидаемых условиях". У каждого способа свои плюсы, минусы и ограничения - например, для записи дат рождения юзеров вообще лучше брать DATETIME, чтоб наверняка не знать проблем с датами до 1970 г. (да и после 2038 - кто знает, сколько проживет эта база?). А если, к примеру, это статистика использования чего-либо, и нужно определить самые активные часы летом - вообще есть смысл разнести дату и время по отдельным полям (DATE и TIME соотв-но), да повесить на каждое отдельный индекс (иначе при сложной выборке база вполне может сказать "шпок";)...
TIMESTAMP наиболее удобен там, для чего предназначен - для "автомаркировки" времени добавления записи в таблицу (только при апдейтах с ним нужно быть осторожным!). INT есть смысл применять в переносимых решениях - чтобы все настройки, связанные со временем, можно было менять через PHP, а не через базу. Места в памяти они занимают одинаково, диапазон допустимых значений тоже один и тот же (до января 2038 года), легко конвертируются друг в друга (TO/FROM_UNIXTIME), но при выводе "как есть" значения таймстемпа более человекочитаемы (что немаловажно при отладке). Это сообщение отредактировал(а) SelenIT - 21.10.2008, 13:33 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| MystDeim |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 22.10.2007 Где: Россия->Юбилей ный Репутация: нет Всего: нет |
Для дней рождения я выбрал тип DATE,
Время рождения важно знать только в роддоме
Разносить не хочу, так как не хочу проблем с часовыми поясами. Создал таблицу в ней 2 поля TIMESTAMP и DATETIME, странно но отображаются они одинаково: CCYY-MM-DD hh:mm:ss, хотя в мануале написано, что TIMESTAMP(14) записывается как YYYYMMDDHHMMSS. странно... --------------------
Учебные материалы для студентов http://studlab.org |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
а как выводятся?
|
|||
|
||||
| MystDeim |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 22.10.2007 Где: Россия->Юбилей ный Репутация: нет Всего: нет |
2008-10-21 16:39:25 --------------------
Учебные материалы для студентов http://studlab.org |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
формат поля TIMESTAMP(14) попробуй задать
|
|||
|
||||
| MystDeim |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 22.10.2007 Где: Россия->Юбилей ный Репутация: нет Всего: нет |
bars80080, пробовал, глюк какой-то переставить похоже надо.
Стал склоняться к использованию INT
дожно быть удобно Уже не вижу преимуществ использования TIMESTAMP, у него такие же ограничения как и при хранении в виде целого числа, при хранении в инт будет проще обрабатывать. --------------------
Учебные материалы для студентов http://studlab.org |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
Логично;). Я ступил малость. Откуда? Сервер-то один, так какая... пардон, разница? От какой версии мануал? Если не путаю, так было по 4-ю включительно, начиная с пятой стало выводиться с разделителями. А вообще - какая разница, как оно отображается? Все равно для юзеров оно наверняка будет форматироваться как надо через DATE_FORMAT, а чтобы не перепутать сегодняшнюю запись с прошлонедельной при отладке - и по-старому, и по-новому читабельность достаточна... Смотря где и как. Если в самой базе - потребуется одно дополнительное преобразование... В целом, оно с какой-то стороны действительно надежнее - никогда не взбрыкнет, если забыть нужный параметр при апдейте установить... все в своих руках, под контролем... но и думать обо всем, начиная от банального форматирования при выводе и заканчивая вышеупомянутыми часовыми поясами, летним/зимним временем и т.п. тоже придется самому ;). -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| MystDeim |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 22.10.2007 Где: Россия->Юбилей ный Репутация: нет Всего: нет |
Спасибо всем за ответы, пришел к выводу, что нужно использовать TIMESTAMP!
--------------------
Учебные материалы для студентов http://studlab.org |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |