Самый быстрый способ вычислительной контрольной суммы и лучшего типа данных SQL Server, чтобы сохранить это
-
02-10-2019 - |
Вопрос
В моем приложении я сохраняет контент URL в конкретную таблицу базы данных. Чтобы иметь минимальное дублирование, я хочу вычислить контрольную сумму для каждого контента. Так что же лучше всего типа данных SQLSERVER для сохранения контрольной суммы? И самый быстрый способ вычислительной контрольной суммы для содержимого (HTML) URL-адресов?
Решение
Sha1. может быть использован для расчета контрольной суммы. Результатом является байтовый массив, который можно хранить либо как шестигранные строки, либо поля BLOB в SQL, но я думаю, что по практическим соображениям строка будет более удобной.
Другие советы
Вы можете использовать встроенный функцию в SQL Server для вычисления любого из них (MD2, MD4, MD5, SHA или SHA1)
Примеры
SELECT HashBytes('MD5', 'http://www.cnn.com')
Это возвращает varbinary datatype 0xc50252f4f24784b5d368926df7816926df781ede9
SELECT CONVERT(VARCHAR(32),HashBytes('MD5', 'http://www.cnn.com'),2)
Возвращает varchar c50252f4f24784b5d368926df781926df781ede9
Теперь все, что вам нужно сделать, это выбирать, если вы хотите Varchar или Varbinary и использовать это для вашего столбца
Видеть Создание MD2, MD4, MD5, SHA или SHA1 хеша с помощью Hashbytes