Уникально идентифицировать большое число с меньшим (для индекса базы данных) - PullRequest
0 голосов
/ 21 января 2012

У меня есть таблица транзакций «факт», где в заявке есть несколько транзакций, каждая транзакция является реестром.Чтобы идентифицировать билет, я должен сгруппировать таблицу с 5 полями (4 числа и дата), в результате чего получается 22-значное число, но для того, чтобы его можно было эффективно использовать, оно должно быть максимально 19-значным.

Общее количество билетов, которое может хранить таблица, не более 10 цифр.

Как получить уникальное число <= 19 из 22 уникальных номеров, состоящих из 5 чисел (включая преобразованную дату)? </p>

Для меня это звучит как хеш, но я мало что о них знаю, и мне нужно, чтобы он был уникальным и числовым.

1 Ответ

2 голосов
/ 21 января 2012

Я думаю, вам будет трудно найти хеш-функцию, которая может принимать произвольные (неизвестные) входные данные и гарантировать вам уникальный вывод.

Самым простым решением было бы просто добавить поле автоинкремента в вашу таблицу.

...