2012-08-07 23 views
1

我有幾個要求,這真的不互相發揮好:在加密列上優化範圍/通配符搜索。

  1. 加密的姓,名,出生日期與表中的其他一些欄目(數據庫是SQL服務器)一起。
  2. 在某些加密列上執行範圍/通配符搜索。即從first_name中的'%jo%'和last_name如'%exceptional%'中選擇*。

我知道我需要解密整個表,然後執行搜索,這是很痛苦的緩慢。但不知何故,我需要優化搜索。

現在我能想到做搜索無論是在數據庫或內部使用的數據集/ LINQ的等

所以應用程序,它的做法會比較快?有沒有其他的方式來優化這個?

+1

您使用的是SQL Server 2008嗎?你可以使用TDE嗎? – 2012-08-07 13:51:22

+0

我們正在使用Sql Server網絡版。我正試圖說服管理層瞭解TDE。但它對我們來說非常昂貴,差不多每年15K英鎊。 – user1520015 2012-08-07 13:53:33

+1

你的要求是相互矛盾的。您既可以對單元格進行加密,也可以使用範圍搜索。從來沒有。選擇一個意味着犧牲另一個,*沒有解決方法*。使用散列進行搜索最多可以提供單例查找(探測),但不能進行範圍掃描。 – 2012-08-07 16:42:24

回答