Вывод данных из базы в формате UNIX_TIMESTAMP

Glazyrin Sergey

Новичок
Автор оригинала: Chinch
Почему не должно? Ведь YYYY-MM-DD займет меньше места в базе чем YYYY-MM-DD HH:MM:SS.
Мой вам совет - забейте на такого рода оптимизацию
Я так понял вас это смущает ?
На спичках экономите а чушью занимаетесь
 

Chinch

Новичок
Мой вам совет - забейте на такого рода оптимизацию Я так понял вас это смущает ?
Смущает, в таблице будет несколько десятков тысяч записей и предполагаетеся большое количество запросов с сортировкой по дате.

На спичках экономите а чушью занимаетесь
Ещё на занимаюсь, а только спрашиваю.
 

Фанат

oncle terrible
Команда форума
Мешает отсутствие автоматического сохранения текущей даты
ничто не мешает тебе делать это вручную.
непонятно, почему задание значения одного поля не вызывает у тебя вопросов, а другое непременно хочется автоматически.
И тем более непонятно, почему так важно записать каждое обновление, но время при этом не учитывать.
 

Chinch

Новичок
непонятно, почему задание значения одного поля не вызывает у тебя вопросов, а другое непременно хочется автоматически.
Если есть возможность, то почему бы не сделать ? Я думаю, MySql это сделает быстрей чем специально написанная функция на PHP, и кода будет меньше.

тем более непонятно, почему так важно записать каждое обновление, но время при этом не учитывать
В прошлый раз не правильно написал, при обновлении ТАБЛИЦЫ (не страницы). Т.е. при добавлении новой записи в таблицу.
 

Фанат

oncle terrible
Команда форума
но ты же ОБНОВЛЯЕШЬ ТАБЛИЦУ! то есть, составляешь запрос! Какая разница - два значения в него писать, или одно?
 

Chinch

Новичок
Какая разница - два значения в него писать, или одно?
Второе значение (дату) придется формировать самому в PHP. Если вдруг возникнет необходимость чтобы данные добавлял скрипт с удаленного сервера может возникнуть проблема с часовыми поясами.
 

Glazyrin Sergey

Новичок
Я дико извиняюсь. Ты можешь взять изложить все свои мысли, проблемы, я вот токо услышал про какой то скрипт с удаленного сервера.
Полностью изложить постановку проблемы :)
Когда изложишь сядь почитай ее и подумай все ли мы с ходу поймем
P.S. сорри если не в тему
 

Активист

Активист
Команда форума
*****
Кажется я был прав.

Chinch
Я хочу Вас удивить! В MySQL есть такая замечательная функция - NOW()!

Например:
[sql]
UPDATE `table` SET `name` = 'qqq', `last_join_date` = NOW() WHERE `id` = '4'
[/sql]
 

Фанат

oncle terrible
Команда форума
в данном случае, скорее curdate()
но дела это не меняет. проблемы,имхо, все высосаны из пальца.
 

Chinch

Новичок
Ну вот, родили наконец то!
PHP:
INSERT  `users` SET  `reg_date`= CURDATE( )
Всем спасибо, за соучастие в процессе.
 

x-yuri

Новичок
если бы ты сразу удаленный сервер родил вместе с часовыми поясами, то решил бы свою проблему быстрее ;-)
 

Chinch

Новичок
Удаленный сервер тут не причем.
Вопрос с самого начала был поставлен очень конкретно.
Как в phpMyAdmin настроить таблицу так, что бы reg_date хранилась в формате YYYY-MM-DD , а не YYYY-MM-DD HH:MM:SS ?
Куда ещё понятней то ?
 

Glazyrin Sergey

Новичок
Уважаемый уж что что а CURDATE() не относится к вопросу настройки таблицы - настроить таблицу для хранения YYYY-etc можно лишь с помощью типа данных TIMESTAMP. А то что вы сказали, что родили наконец то, так это относится к инициализации значений базы данных
Вы поняли разницу ?
 

Chinch

Новичок
CURDATE() не относится к вопросу настройки таблицы
Знаю, что не относится просто другого способа я не нашел.
настроить таблицу для хранения YYYY-etc можно лишь с помощью типа данных TIMESTAMP
Можно, только вот никто не может сказать, как это сделать.
 

x-yuri

Новичок
Chinch, использовать CURDATE() имеет смысл, если у тебя с нескольких серверов запросы идут. Иначе это просто одна из альтернатив. А от сокращения запроса на 10 символов он быстрее выполнятся не будет

Можно, только вот никто не может сказать, как это сделать.
можно, для этого нужно использовать соответствующий тип данных
 

Glazyrin Sergey

Новичок
ALTER TABLE ADD COLUMN `test_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Я писал это еще не знаю когда
 

Chinch

Новичок
ALTER TABLE ADD COLUMN `test_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Примерно, такой запрос я и использовал изначально.
PHP:
ALTER TABLE `tbl_name` ADD `date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP;
Только новые записи в таблице все равно имеют формат YYYY-MM-DD HH:MM:SS.

А от сокращения запроса на 10 символов он быстрее выполнятся не будет
Ну хотя бы обоснуйте это.
Допустим у меня есть таблица, в ней 50 тыс. записей (заказчик твердит про миллион записей). К ней постоянно идут запросы типа
PHP:
SELECT * FROM `tbl_name` WHERE `date`....... ORDER BY `date`
Объясните, почему если я вместо формата YYYY-MM-DD HH:MM:SS буду использовать YY-MM-DD скорость обработки запроса не изменится?
 
Сверху