【发布时间】:2016-01-22 14:38:23
【问题描述】:
我在 MS Sql 服务器数据库表中有数千条记录,为了让它在网页上快速搜索它,我创建了 WCF REST 服务,该服务返回通过转换为 JSON 的关键字从数据库中获取的记录列表,并显示在 html 下方的 DIV 中html页面中的文本框。 (如谷歌搜索文本框)。
我使用服务器端缓存对象在一定程度上避免数据库命中。 但我不得不在每次文本更改时点击 REST GET url。
有什么建议可以加快速度吗?
【问题讨论】:
-
缓存在客户端,只有在查询选择性降低时才去服务器?
-
谢谢,我正在尝试这个,但随后这会使客户端的缓存增加,客户端可以看到整个记录。
-
在一定程度上提高了性能,但我认为在客户端保存数据库记录没有任何意义,它将是特定于客户端的。
-
一千条记录看起来就像一张很小的表。即使是幼稚的策略也应该足够快地用于这种大小的数据库,除非您的查询具有极其复杂的连接或巨大的文本块。如果您的表中有大量文本 blob,那么您可能想要探索全文索引。如果您有复杂的连接,那么您可以采取一些选项来加快查询速度。
-
如果往返是您的瓶颈,那么您肯定希望减少对服务器的查询次数。与其做数千个小查询,不如做几个更大的查询。每当您有一个返回项目列表的 API 时,也要进行分页。没有示例查询,很难给出具体建议,您可以在此处发布一些来自您现有应用程序的示例查询吗?