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

本文关键字:字符串 有效地 | 更新日期: 2023-09-27 18:11:57

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

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

只有一千个字符串,这很好。但是如果数据库变大了怎么办?100.000字符串?更多吗?foreach (var w in dictionary.Keys) if (w.Contains(command)) //etc在这么多的字符串上,可能每秒几次?

是否有一种合适的方法来检查如此大量的字符串?还是我只是在无谓地担心?看起来很多,但是电脑给我的惊喜更多。

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

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

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

这将根据用户键入的内容检查每个字符串