查找大型SQL数据库中长文本字符串的完全匹配的最快方法

时间:2012-01-20 14:56:43

标签: sql performance

我的db表将有一个带有长字符串的col“a”TEXT,如多个段落。给定一个输入字符串,我想找到一个匹配的记录。如果表有数百万行,那会更快吗?一个简单的

WHERE a = ? 

或者我应该计算并存储每行的md5哈希然后匹配?建议欢迎。

2 个答案:

答案 0 :(得分:1)

如果您想要完全匹配,存储哈希并与之比较会更快。它将排除子字符串搜索,但比较4个字符比检查数千个字符要快得多。

计算搜索参数的哈希值会有一些开销,但与那些数据的字符串比较相比,这没什么。

答案 1 :(得分:0)

如果您使用的是SQL Server,则可以使用全文搜索功能

http://msdn.microsoft.com/en-us/library/ms142571.aspx