Opened 16 months ago

#1219 new улучшение

Увеличить точность записываемого в БД времени

Reported by: alx Owned by: Denis_N
Priority: minor Component: БД изделий АДС
Keywords: Cc:

Description

В БД помимо прочей информации хранятся отметки времени типа datetime. В первую очередь это отметки записей в истории (history), также хранится время создания заказов (в orders).

Тип datetime представляет время с точностью до микросекунд. Однако при просмотре содержимого таблицы history я заметил, что ни в одной записи нет дробных долей секунд! Я заглянул в несколько файлов, где добавляются записи в историю и обнаружил, что в поле date, как правило (если не всегда), записывается значение NOW(). Проблема в том, что NOW() без аргумента округляет текущее время до целого числа секунд! Из-за этого мы и теряем точность при учете времени, из-за чего уже несколько раз, насколько я помню, возникали различные "странности" (типа того что дефект был устранен раньше, чем обнаружен)...

Чтобы не терять точность при фиксации времени предлагаю при добавлении записей записывать в поле времени не NOW(), а NOW(6), что дает текущее время с точностью до микросекунд.

Change History (0)

Note: See TracTickets for help on using tickets.