我有一个缓存在内存中的数据表/集合,我想用它作为源来为自动完成文本框生成结果(当然使用 AJAX)。我正在评估各种快速获取数据的选项。数据表中集合/行中的项目数可能从 10000 到 2,000,000 不等。(所以我们不会被转移,暂时假设已经做出决定,我有足够的内存,我将使用缓存而不是数据库查询)
我对此处理有一些额外的业务逻辑;我必须根据priority
集合中的列(int)对自动完成列表进行优先级排序。因此,如果我有人搜索Micro
并且我得到 20 个以开头的单词/句子的结果,Micro
那么我会选择具有最高优先级的前 10 个结果项目。(因此需要有一个与字符串值关联的优先级属性)。
集合项目已按字母顺序排序。
在这种情况下,最好的解决方案是什么。
1.使用DataTable.Select (
。2 .使用
DataTable.Rows.Find ( _
_性能与否?)