C# 检查一个实现的存在性,例如;“数据库中的字符串搜索方法”;
我正在开发一个从网络接收数据包并将其存储到数据库的应用程序。在一部分中,我将dns记录保存到db,格式如下:C# 检查一个实现的存在性,例如;“数据库中的字符串搜索方法”;,c#,database,algorithm,optimization,C#,Database,Algorithm,Optimization,我正在开发一个从网络接收数据包并将其存储到数据库的应用程序。在一部分中,我将dns记录保存到db,格式如下: IP地址(无符号32位整数) DNS记录(无限字符串) DNS记录的速率约为每秒10-100条记录。由于它是实时的,所以我没有足够的时间在数据库中通过字符串搜索来检查重复项。我在想一个好方法,为每个给定的唯一字符串获得一个唯一的短整数(比如说64位)。所以我的搜索,从字符串搜索,变成了数字搜索,让我更快地检查重复。任何关于实现我所说内容或更好方法的想法都将受到赞赏。最好使用C#的样品。但
- 确保在表中正确设置了表索引和主键
- 每隔几秒钟异步加载一次表内容,并用它填充一个通用的
字典
- 对字典执行搜索,因为它已针对搜索进行了优化。如果您需要更快,请使用哈希表
- 将事务中新添加的条目异步刷新到数据库中
- 确保在表中正确设置了表索引和主键
- 每隔几秒钟异步加载一次表内容,并用它填充一个通用的
字典
- 对字典执行搜索,因为它已针对搜索进行了优化。如果您需要更快,请使用哈希表
- 将事务中新添加的条目异步刷新到数据库中
另外,您的场景非常模糊,无法创建一个像样的代码示例 不将DNS记录存储为文本怎么样?您可以解析记录并避免大部分字符串搜索。但是,如果不知道您实际想做什么,就很难提出任何具体的建议-我不认为“插入时检查重复项”与软实时是如何不兼容的,特别是与DNS记录之类的东西。你到底想做什么?不将DNS记录存储为文本怎么样?您可以解析记录并避免大部分字符串搜索。但是,如果不知道您实际想做什么,就很难提出任何具体的建议-我不认为“插入时检查重复项”与软实时是如何不兼容的,特别是与DNS记录之类的东西。你到底想做什么?