检查实现是否存在,了解"string search method in database"



我正在开发一个应用程序,该应用程序从网络接收数据包并将其存储到数据库中。在一部分中,我将dns记录保存到数据库中,格式如下:

  1. IP地址(无符号32位整数)
  2. DNS记录(无限制字符串)

DNS记录的速率约为每秒10-100个记录。由于它是实时的,我没有足够的时间在数据库中通过字符串搜索来检查重复项。我想了一个好方法,为每个给定的唯一字符串获取一个唯一的短整数(比如64位)。因此,我的搜索,从字符串搜索,变成了数字搜索,让我更快地检查重复项。任何关于我所说的实现或更好的方法的想法都将受到赞赏。C#中的样本是优选的。但任何好主意都是受欢迎的。

我会通读这篇文章,谈论将字符串散列为整数,由于地址很长(按字母),我会使用一些模函数将其保持在整数限制内。

将使用哈希表检查结果是否重复。

可以对前20个字母执行此操作,如果需要,可以对嵌套哈希表执行下20个字母,依此类推

  • 请确保在表中正确设置了表索引和主键。

  • 每隔几秒钟异步加载一次表内容,并用它填充一个通用的dictionary<long,string>

  • 对字典执行搜索,因为它已针对搜索进行了优化。如果你需要更快,可以使用哈希表。

  • 将事务中新添加的条目异步刷新到数据库中。

附言:您的场景过于模糊,无法创建一个像样的代码示例。

最新更新