0

我有这张桌子:

材料表

我想通过特定方式搜索 material_name :

例如:如果我有一个名为(我的新产品 2014)的材料

如果用户按 (mnp 2), (med 0), (ywc 1), (my w uc), (my), (mn)...(其中插入字符串的第一部分是指材料的第一个单词名称和第二个第二个等等)(当用户按下空格时,该功能应该开始查找下一个单词)......材料应该是选定的材料之一,并在TextChange事件中调用搜索功能。

在我的情况下,在应用程序中或在 sql 中进行搜索功能哪个更好?为什么?

知道:材料表可能包含 10000 个材料

你能帮助我吗?

4

1 回答 1

2

您可能最好创建并索引包含每种材料的第一个字母/单词数,然后对其进行搜索。

因此,您有一个表格,其中包含您的用户将键入的值(mnp2、med0、ywc1 等),然后是您可以用来查找实际材料名称的 material_id,然后从列表中选择具有匹配名称的材料。

或者(也许更简单)只需在启动时从列表中的客户端内存中创建此索引,然后搜索索引以查找您的客户端键入的内容并在列表中选择相关项目。因此,使用您的材料的简短版本和列表中的位置创建您的列表表示:

mnp2,0
med0,1
ywc1,2

等等等等

然后将用户按键与此列表匹配(使用StartsWith可能是最好的)并从列表中的适当位置选择元素

于 2013-09-05T10:12:56.077 回答