Рассматривали ли вы вычисление значения хеш-функции для вашей текстовой строки ?Затем вы можете сохранить хеш-значение и просто проверить уникальность хеш-значения.Любые коллизии, которые вы получаете со значением хеш-функции, затем проверяют фактические текстовые строки.Если они отличаются, вы включаете значение последовательности.если нет, то вы нашли свою ошибку.Таким образом, ваша таблица
Hash, Sequence (уникальна в пределах того же значения Hash), TextString
, а ваш уникальный индекс
Hash, Sequence
Для проверки уникальности вычислите значение Hash и попытайтесь сохранить его с нулевой последовательностью.Если вы не можете сохранить его в нулевой последовательности, сравните текстовую строку в нулевой последовательности.Если они одинаковые, вы нашли дубликат текста.Если они отличаются, попытайтесь сохранить их в последовательности 1. Повторяйте, пока не найдете повторяющуюся текстовую строку с этим порядковым номером или не сохраните ее в базе данных со следующим доступным порядковым номером.
Хитростьвычисляет алгоритм хэширования, который не дает вам много дубликатов и может обрабатывать длинную текстовую строку.Еще лучше был бы отличный ORM, который мог бы сделать это для вас.