Создайте другое поле с HASH этого varchar(500)
и поместите UNIQUE CONSTRAINT
в поле хеша: HASHBYTES('md5', MyLongVarcharField)
Это приведет к снижению производительности, но если у вас есть varchar(500)
, где вынеобходимо обеспечить уникальность Я предполагаю, что производительность в любом случае не находится на первом месте в ваших соображениях.
РЕДАКТИРОВАТЬ:
Чтобы прояснить, вероятность получения двух строкто же самое 128-битное хеш-значение 1 in 340,282,366,920,938,000,000,000,000,000,000,000,000
.Маловероятно, но не категорически невозможно , что вы могли бы столкнуться.
Если вы все еще обеспокоены этим, вы можете использовать SHA
или SHA1
алгоритмы, которые имеют 160 бит.