У меня есть таблица, называемая tblClient
с зашифрованным столбцом SSN
.Оптимизация поиска в зашифрованном столбце
В соответствии с политикой компании мы зашифровали SSN
с использованием симметричного ключа (выбранного по асимметричному ключу по причинам производительности) с использованием пароля.
Вот неполный LIKE
поиск по SSN
объявить @SSN VARCHAR (11) набор @SSN = '111-22-%'
open symmetric key SSN_KEY decrypt by password = 'secret'
select Client_ID
from tblClient (nolock)
where convert(nvarchar(11), DECRYPTBYKEY(SSN)) like @SSN
close symmetric key SSN_KEY
Перед шифрованием, поиск через 150000 записей приняли менее секунд.
, но с сочетанием дешифрования тот же поиск занимает около секунд.
Какую стратегию я могу применить, чтобы попытаться оптимизировать поиск через зашифрованный столбец?
Является ли шифрование детерминированным или рандомизированным? То есть если один и тот же SSN зашифрован несколько раз, всегда ли он дает один и тот же шифротекст? – abc
@abc: рандомизированное (недетерминированное) – Sung