从巨大的表中自动完成数据字符串

时间:2011-11-08 15:29:06

标签: sql-server silverlight mvvm wcf-ria-services

我需要提供AutocompleteBox,这将为用户提供输入数据的能力。应为字符串字段提供完成(例如:UserName)。问题是源数据库表包含数十万条带有10个字段的记录。

如何在Silverlight中处理此问题?

1 个答案:

答案 0 :(得分:3)

首先,保持您的服务有效负载尽可能小。 AutoCompleteBox应该只需要一个或两个字段 - 键和值对 - 这样当他们选择项目时,您的应用程序就可以再次查询以获取该特定记录的其余数据。

其次,我建议分页您的自动完成结果。在用户在AutoCompleteBox中输入两个或三个字符之前,请不要进行初始查询。完成后,查询数据库以获取更接近其条件的值的子集。如果删除字符,则需要重新查询表以更改数据源值。

关键是1)根据字符串值索引表格; 2)尽可能少地从服务器返回到客户端,以便保持网络负载小。