【发布时间】:2011-06-05 09:52:14
【问题描述】:
我正在从事一个大型项目,我必须为用户提供将数据输入表单的有效方法。
该表单的三个字段需要来自公共数据源(SQL 表)子集的值。我使用 JQuery 和 JQuery UI 构建了一个自动完成功能,它发布到一个通用的 HttpHandler。
在内部,处理程序使用 Linq-to-sql 从该特定表中获取所需的数据。该表有大约 10 个不同的列,linq 表达式使用 SqlMethods.Like() 来匹配这 10 个字段中每个字段的单个搜索词。
问题在于该表包含大约 20K 行。自动完成功能完美无缺,接受大量数据引入延迟,大约 6 秒左右(在我的本地机器上调试时)才会出现。
JqueryUI 自动完成有 0 延迟,在 3 键上查询,并且帖子的结果是在 Facebook 风格的多行可选选项中进行的。 (我几乎不得不重写自动完成插件......)。
所以问题在于数据与速度。关于如何加快速度的任何想法?我唯一的两个想法是缓存数据(如何/在哪里?);还是直接使用 sql 数据阅读器进行数据访问?
任何想法将不胜感激! 谢谢,
<bleepzter/>
【问题讨论】:
标签: asp.net linq-to-sql jquery-ui data-access-layer sql-server-2008-r2