【问题标题】:optimize sql queries for comparing an array优化用于比较数组的 sql 查询
【发布时间】:2014-03-10 09:24:34
【问题描述】:

我有大约 100-800 个单词(用户输入)我想匹配 50 个关键字(在 SQL 数据库中)。由于这将是一个网络应用程序,我想对其进行优化。我是 SQL 的初学者,想知道执行此操作的有效方法是什么。

现在我将带有哈希值的单词存储在数据库中。

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

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

SELECT * 
FROM hash_table
WHERE hash_code = hash_var;

【问题讨论】:

  • 请发布您的查询试用版

标签: sql arrays performance algorithm compare


【解决方案1】:

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

【讨论】:

  • 以某种方式回答了我的问题。我正在努力使我的问题变得更好。这是一个非常好的建议,这是我一直在寻找的一件大事。感谢您的回复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-07
  • 1970-01-01
  • 2013-02-05
  • 2016-09-03
  • 1970-01-01
相关资源
最近更新 更多