我有这张桌子:
我想通过特定方式搜索material_name:
例如:如果我有一个名为(我的新产品2014)的材料
如果用户按下(mnp 2),(med 0),(ywc 1),(my w uc),(my),(mn)...(其中,所述内插字符串的第一部分引用第一个单词材料名称和第二个等等)(当用户按空格时,该功能应该开始查看下一个单词)...材料应该是所选材料之一
和TextChange
事件上调用的搜索功能。
在我的情况下哪个更好,在应用程序或sql中进行搜索功能? 为什么?
知道:材料表可能包含10000种材料
你可以帮帮我吗?答案 0 :(得分:2)
你可能最好创建和索引包含每种材料的第一个字母/数字,然后搜索它。
因此,您有一个包含用户将键入的值的表(mnp2,med0,ywc1等),然后您可以使用material_id查找实际的材料名称,然后从列表中选择具有匹配名称的材料
或者(也许更简单)只需在启动时从列表中在客户端的内存中创建此索引,然后在索引中搜索客户键入的内容并选择列表中的相关项。因此,使用材料的简短版本和列表中的位置创建列表的表示形式:
mnp2,0
med0,1
ywc1,2
等等
然后将用户按键匹配到此列表(使用StartsWith
可能是最好的)并从列表中选择适当位置的元素