如何有效地解析大量字符串?

时间:2014-07-08 18:48:56

标签: c# performance

我有一个数据库,比方说1000个字符串。每当我的程序的用户写一个句子时,它会检查数据库SELECT * WHERE trigger=sentence,并返回数据行。考虑到它是一个数据库,这非常快。

但是对于程序来说,在启动时将整个数据库加载到Dictionary<string, string>会更方便。这将允许我使用string.Contains(sentence),因此(子)句子可以在句子中的任何地方,而不是整个事物。

只有一千个琴弦,没关系。但是,如果数据库变大,比如说... 100.000字符串呢?更? foreach (var w in dictionary.Keys) if (w.Contains(command)) //etc超过那么多字符串,可能每秒几次?

有没有正确的方法来检查如此大量的字符串? 还是我不必担心?看起来很多,但电脑让我更加惊讶。

1 个答案:

答案 0 :(得分:1)

如果您愿意在代码中创建动态sql:

SELECT * FROM YOURTABLE WHERE 'The sentence the user typed' like '%' + [StringColumn]+ '%'

这应该根据用户输入的内容检查每个字符串。