优化sql查询以比较数组

时间:2014-03-10 09:24:35

标签: sql arrays performance algorithm compare

我有大约100-800个单词(用户输入)我想匹配50个关键字(在SQL数据库中)。由于这将在一个Web应用程序上,我想让它优化。我是SQL的初学者,想知道这样做的有效方法是什么。

现在我的数据存储在数据库中。

  • 接受输入
  • 浏览每个单词并计算它的哈希值
  • 按顺序将哈希码放入数组中(不需要重复)
  • 然后我搜索每一个(我需要知道是否有关键词)

即迭代哈希码数组中的所有成员:

SELECT * 
FROM hash_table
WHERE hash_code = hash_var;

1 个答案:

答案 0 :(得分:0)

对每个数据库运行一个查询或非常无效..你将运行100-800个查询(ouch)..一个解决方案可能在一个查询中运行所有(使用IN()运算符),但这仍然意味着将所有文本发送到数据库..因为数据库只有50个单词..(即使更多)..我认为如果你将所有单词SELECT成一个列表,你会表现得更好,并在C#上进行比较..然后你可以在进行100-800比较之前优化并获取列表一次..