Я хочу использовать значение длинной метки времени (может быть сгенерировано System.currentTimeInMillis()
) в качестве имен столбцов в моей базе данных.Может ли System.currentTimeInMillis()
метод гарантировать всегда увеличивающиеся значения?Я видел людей, жалующихся на то, что иногда это становилось медленнее ..!
Я также открыт для других альтернатив, которые могут быть значительными для обозначения увеличивающихся имен столбцов.Я просто хочу гарантировать уникальность (до тех пор, пока они не упадут за одну и ту же миллисекунду, когда я смогу считать их нормальными ...) и увеличивающуюся последовательность (может быть также, возможно, меньшего размера (меньше байтов), если это возможно!).
Редактировать : У меня есть База данных NoSQL , где имена столбцов (и, следовательно, столбцы) сортируются в строке как последовательность возрастающих / убывающих чисел.Таким образом, я пытаюсь сгенерировать временные метки в качестве имен столбцов, которые могут позволить мне сортировать столбцы по времени.
Я хочу хранить комментарии к записи блога в одной строке, используя значения меток времени в качестве имен столбцов для включения сортировки.по времениДумаю, я бы не возражал, даже если разрешение составляет 10 мс, поскольку вероятность того, что кто-то прокомментирует в одной и той же 1/100 секунды одну и ту же запись в блоге моего приложения, будет очень низкой. Спасибо всем за ваши комментарии и предложения.Действительно полезно ... Я думаю, что у меня есть решение, чтобы обойти проблемы редко сбоев System.currentTimeInMillis ().Я мог бы реализовать это так: -
- Когда пользователь добавляет новый комментарий к сообщению, веб-интерфейс отправляет идентификатор
'suggestedId'
, который на единицу больше, чем идентификатор последнего комментария (веб-интерфейс знаетОб этом из предыдущей базы читал).Этот идентификатор будет сравниваться с идентификатором, сгенерированным с помощью System.nanotime ().если suggestedId
меньше generatedId
, то будет использоваться generatedId
, в противном случае будет использоваться suggestedId
.Так что это просто означает, что больше, используйте этот идентификатор.Это гарантирует монотонность
Хотя это не совсем идеально, но да, звучит хорошо для практического использования!Ребята, не могли бы вы поделиться своими мыслями по этому поводу?Спасибо !!!