Самый быстрый способ вычисления типа данных Checksum и Better Sql Server, чтобы сохранить это - PullRequest
0 голосов
/ 11 сентября 2010

В моем приложении я сохраняю содержимое URL в конкретную таблицу базы данных.чтобы иметь минимальное дублирование, я хочу вычислить контрольную сумму для каждого контента.Итак, какой тип данных sqlserver лучше всего подходит для сохранения контрольной суммы?и самый быстрый способ вычисления контрольных сумм для содержимого (HTML) URL-адресов?

Ответы [ 2 ]

2 голосов
/ 11 сентября 2010

Вы можете использовать встроенную функцию в сервере SQL для вычисления любого из них (MD2, MD4, MD5, SHA или SHA1)

примеры

SELECT HashBytes('MD5', 'http://www.cnn.com')

, который возвращает тип данных varbinary 0xC50252F4F24784B5D368926DF781EDE9

SELECT CONVERT(VARCHAR(32),HashBytes('MD5', 'http://www.cnn.com'),2)

, возвращающий varchar C50252F4F24784B5D368926DF781EDE9

Теперь все, что вам нужно сделать, это выбрать, если вы хотите varchar или varbinary, и использовать это для своей колонки

См. Создание хэша MD2, MD4, MD5, SHA или SHA1 с использованием HashBytes

2 голосов
/ 11 сентября 2010

SHA1 может использоваться для вычисления контрольной суммы.В результате получается массив байтов, который может храниться в виде шестнадцатеричной строки или поля большого двоичного объекта в SQL, но я думаю, что по практическим соображениям строка будет более удобной.

...