Precisamos criar o valor de hash dos dados nvarchar para fins de comparação. Existem vários algoritmos de hash disponíveis no T-SQL, mas qual é o melhor para escolher neste cenário?
Queremos garantir que o risco de ter um valor de hash duplicado para dois valores nvarchar diferentes seja o mínimo. Com base em minha pesquisa na internet, o MD5 parece o melhor. Isso está certo? O MSDN nos informa (link abaixo) sobre os algoritmos disponíveis, mas nenhuma descrição sobre qual deles para quais condições?
Precisamos unir duas tabelas em duas colunas nvarchar(max). Como você pode imaginar, a consulta leva muito tempo para ser executada. Achamos que seria melhor manter o valor de hash de cada dado nvarchar(max) e fazer a junção nos valores de hash em vez dos valores nvarchar(max) que são blobs. A questão é qual algoritmo de hash fornece a exclusividade, para que não corramos o risco de ter um valor de hash para mais de um nvarchar(max).