我有一个会员包含超过 30,000 个用户。我试图让用户使用他们的个人资料查找或搜索所有会员用户,我将通过将所有具有所需个人资料数据的用户导入 DataTable 并开始从中进行选择来实现这一点,但这里的问题是加载超过 30,000 个用户并将他们的配置文件数据放入 DataTable 需要很长时间 是否有任何类型的存储可以预加载其中的会员用户,而不是在用户尝试搜索时加载它。
问问题
203 次
1 回答
0
您可以只对数据库执行搜索查询,而不是将所有 30.000 加载到内存中。这将返回更少的行并具有更高的性能。Membership 类有一个可以返回分页数据的FindUsersByName方法。
如果您真的想将所有用户存储到内存中,请查看HttpRuntime.Cache。如果将所有用户加载到缓存中,则可以使用 Linq To Objects 查询它们并获得良好的性能。
您可以在应用程序自动启动事件中填充缓存。当应用程序运行时,缓存数据将始终被加载。您可以使用SqlCacheDependency来确保您的缓存始终正确。
于 2012-12-01T18:23:55.723 回答