|
|
|
| Здравствуйте...
Возникла проблема, из-за которой необходимо запросом получить время из базы данных с точностью меньше секунды (хотя бы до 100 мс).
В описании временных функций, везде указана минимальная точность до секунд. Но может быть есть какой нибудь другой способ, подскажите пож-та. | |
|
|
|
|
|
|
|
для: Anarchy
(23.09.2009 в 14:52)
| | Стандартные типы представления даты/времени в большинстве распространенных СУБД хранят время с точностью до секунды.
Можно самостоятельно хранить время с любой необходимой Вам точностью, как число.
Соответственно, и все необходимые преобразования придется делать самому. | |
|
|
|
|
|
|
|
для: Trianon
(23.09.2009 в 15:00)
| | Меня бы устроил такой вариант, но у меня нет представления как такое можно реализовать.
Приходит на ум только сторонняя программа, которая с интервалом, к примеру 10 раз в секунду, выполняет запрос на обновление времени. Правда вариант описанный мною я считаю не рациональным. Может быть подскажете, как можно реализовать такую систему попроще. | |
|
|
|
|
|
|
|
для: Anarchy
(23.09.2009 в 16:12)
| | >Приходит на ум только сторонняя программа, которая с интервалом, к примеру 10 раз в секунду, выполняет запрос на обновление времени.
Зачем?
>как можно реализовать такую систему попроще.
Я как-то перестал понимать цель задачи. | |
|
|
|
|
|
|
|
для: Trianon
(23.09.2009 в 15:00)
| | Прошу прощения, я невнимательно прочитал ваш ответ.
>Стандартные типы представления даты/времени в большинстве распространенных СУБД >хранят время с точностью до секунды.
>Можно самостоятельно хранить время с любой необходимой Вам точностью, как число.
>Соответственно, и все необходимые преобразования придется делать самому.
Этим ответом вы предложили мне способ хранения даты в виде числа.
Но мне не нужно хранить дату в базе данных. Мне нужна какая либо функция вида NOW(), LOCALTIMESTAMP() или что нибудь подобное. Которая вернула бы текущее время с точностью выше секунды. Функции описанные выше, возвращают время с точностью до секунды (миллисекунды обнуляются), потому они мне и не подходят.
А по поводу хранения времени в базе данных, то в MySQL проблем с точностью времени нету. | |
|
|
|
|
|
|
|
для: Anarchy
(23.09.2009 в 17:07)
| | Другими словами, Вы пытаетесь использовать сервер СУБД в качестве сервера точного времени.
Мне добавить нечего.
UPD. Впрочем, нет.
Я могу предложить объяснение, почему функции получения точного времени не реализованы (в отличие от функций преобразования.)
Сервер оперирует объективными прикладными данными.
Оперирует ими с задержкой, связаной с естественной неидеальностью процесса обработки данных.
Это если даже не рассматривать кеширование запросов, отложенное выполнение вставок в таблицы и т.п.
Попытки применять системные отсчеты серверной машины в запросах привели бы лишь к тому, что результат выполнения запросов к БД оказался бы непредсказуем. | |
|
|
|
|
|
|
|
для: Anarchy
(23.09.2009 в 14:52)
| | База данных, конечно позволяет манипулировать временем вплоть до микросекунд, но при генерации текущего времени реально отчет идет по секундам - все микросекунды обнуляются. Можно ориентироваться на PHP-функцию microtime(), но я бы ей тоже не больно-то доверял в плане точности. | |
|
|
|
|
|
|
|
для: cheops
(23.09.2009 в 15:05)
| | >Можно ориентироваться на PHP-функцию microtime(), но я бы ей тоже не больно-то доверял в плане точности.
Уж десятые доли секунды , необходимые автору, она всяко предоставит :)
Другое дело, что для получения времени из базы данных, эта функция как-то ... никак. :)) | |
|
|
|