powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / В чем хранить TIMESTAMP?
14 сообщений из 14, страница 1 из 1
В чем хранить TIMESTAMP?
    #39689861
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если по этому полю планируется делать запросы, то в чем лучше его сохранять:
Как UNIXTIMESTAMP в char(10), int(10), varchar или сразу в Datetime. ? (Скорость работы важна, таблица может быть большой)

Спасибо.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39689864
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2,

Какие значения предполагается хранить?
Как будет использоваться это поле в запросах?
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39689893
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UNIXTIMESTAMP это целое число секунд.
Разумеется int.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39689909
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft > Не понял про значения, если это про диапазон лет то 2018 - 2038, к примеру 1533581276 - если остановится на timestamp.

Запросы:

Код: sql
1.
2.
3.
SELECT * From tbl 
WHERE my_time > 'UNIX_TIMESTAMP( '2018-04-21' ) '
order by my_time



такой же between:
Код: sql
1.
2.
3.
SELECT * From tbl 
WHERE my_time BETWEEN  UNIX_TIMESTAMP( '2018-04-01' )  AND UNIX_TIMESTAMP( '2018-04-30' )
order by my_time



И:

Код: sql
1.
2.
3.
SELECT SUM(amount) , DATE(my_time) as Date FROM tbl
group by Date
order by Date



Спасибо.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39689927
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2,

Во всех запросах фигурирует только дата.
Если время не интересует, то подойдет тип DATE.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39689971
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините, моя вина, хотел набросать по быстрому.

Когда делается запрос с группировкой, то да там время не важно, но когда просматривается пользователем , то оно необходимо.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39690114
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2,

Попробуйте TIMESTAMP.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39690342
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft > Вопрос был , если TIMESTAMP то хранить его в каком формате? (char(10), int(10), varchar )

:)

Спасибо.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39690349
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2,

Чем вам сам TIMESTAMP не угодил? Зачем пользоваться какими-то суррогатами?
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39690969
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю я не понимаю как его сохранить.
DDL:
Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE `tbl` (
  `id` int(64) NOT NULL AUTO_INCREMENT,
    `user_id` int(64) DEFAULT NULL,
  `status_id` int(2) DEFAULT NULL,
    `start_time` timestamp NULL DEFAULT NULL COMMENT 'Start from our panel',
 ) ENGINE=MyISAM AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;



Я пытаюсь делать:

Код: sql
1.
2.
INSERT INTO tbl ('id', 'user_id', 'status_id', 'start_time')
VALUES(1 , 10, 1, '1378283588')



И в результате start_time выглядит так 00 00:00:00.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39690991
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1378283588 - хреновое значение для поля типа TIMESTAMP.
Код: sql
1.
2.
INSERT INTO tbl ('id', 'user_id', 'status_id', 'start_time')
VALUES(1 , 10, 1, FROM_UNIXTINME(1378283588))
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39691014
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2,

Int(64) писать бессмысленно, у int фиксированный размер 4 байта.
Если нужно больше, то используйте bigint.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39691116
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не становится легче :)

Можно по другому спрошу. В пакете данных приходит строка "1378283588" (она же таймстэмп).
В каком виде мне лучше ее хранить в базе вариант с FROM_UNIXTINME(1378283588) - не подходит, всё делается фреймворком и разрешается только подготовка данных.


Другой вопрос:
И попутно, по производительности лучше сохранить "1378283588" как строку или int(11)?


Спасибо.
...
Рейтинг: 0 / 0
В чем хранить TIMESTAMP?
    #39691189
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2,

int подходит, но при чтении и в операциях со временем могут понадобиться дополнительные преобразования.

Строковое хранение числа, обозначающего дату - пожалуй, наихудший вариант.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / В чем хранить TIMESTAMP?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]