假設我們有這個表索引與MD5在SQL Server
ID | MAIL
1 | [email protected]
2 | [email protected]
3 | [email protected]
你明白了吧... 我現在要查詢這個表,我作爲輸入接收郵件列值的MD5哈希。 所以我的疑問是這樣的:
SELECT * FROM TABLE
WHERE HashBytes('MD5', MAIL) = 'CE42C51D0B63DF9F616CCFB4C3FCF16C'
現在想象一下這個表是一個非常大的表中,記錄千餘。我的查詢變得非常慢。我現在想要做的是添加索引,但使用MD5。我讀它可以在PostgreSQL上使用這樣的事情來完成:
CREATE INDEX mail_md5 ON TABLE(DECODE(MD5(MAIL), 'HEX'))
我可以在SQL Server中做類似的事嗎?
注:我不能與散列值:(
注2添加另一列:我知道一個HASH是一種不可逆的功能,PostgreSQL的索引的例子是從here
你能至少新表添加到數據庫中,所以你能加入預先計算哈希值的郵件地址? – Scoregraphic
這似乎也非常困難。 – cgajardo
我的主要問題是,如果可能與否。如果不是,那麼我可以開始尋找新的解決方案。 – cgajardo