Я хочу сохранить информацию о версии в базе данных (в частности, MongoDB) таким образом, чтобы она быстро сортировалась и запрашивалась для определенных диапазонов.
Информация о версии будет выглядеть следующим образом:
0.1.0.0
0.7.56.101
0.99.40.154
10.2.153.200
Я нашел эту статью здесь о предмете.Сводные параметры:
Использовать varchar
Использовать три числовых поля: Major, Minor, Patch
Используйте оба.
Я думал о четвертом варианте, где информация о версии может быть преобразована в 32-битное int, где каждый заполнитель версии занимает8 бит.
например:
0.7.56.101 -> 00000000 00000111 00111000 01100101 -> 473189
Таким образом, значение 473189 будет сохранено.Я знаю, что это ограничивает расширение версий из-за того, что максимальная версия для каждого октета равна 255 (255.255.255.255), но я бы сказал, что этого более чем достаточно для моей жизни.
Это, конечно, потребует некоторыхупаковка / распаковка информации о версии, но может привести к быстрым результатам поиска.Поскольку я мог бы использовать меньше / больше, чем поиски.
Это хороший способ справиться с этим или есть лучшие способы сделать это?