加速ASP.NET应用程序

时间:2014-07-17 07:27:02

标签: asp.net database data-warehouse

我正在开发一个ASP.NET Web应用程序。 Web应用程序在大约30个不同的数据库中搜索人员(这是一个执法应用程序)。例如,警察办公室搜索Fred Smith DOB 01/01/1950(不是真人)并返回所有数据库中的任何命中。

对于大多数搜索;速度是可以接受的,即如果普通人有五次点击,那么加载页面的平均时间是五秒。但是,有些搜索有数百甚至数千次点击。我看到一次搜索花了25分钟,这显然是不可接受的。

可能会创建一个长期数据仓库,以确保所有数据都在一个数据库中。但是,在这种情况下加速搜索的最佳策略是什么?我想过缓存,但同一个人很少在很短的时间内搜索两次。还有其他想法吗?

2 个答案:

答案 0 :(得分:1)

您没有足够的详细信息(哪些数据库,前端语言是什么,您如何查询,是否有索引等)。

但这里有一些初步的建议......(按照努力的增加顺序,可能)

  1. 对关键列的所有数据库进行大量索引并进行搜索。
  2. 多线程 - 产生30个线程(每个数据库1个)并进行搜索。在线程回来时开始显示结果。
  3. 有一个后端工作,将30个数据库中的所有数据合并到一个完全索引的非规范化表中。查询该表。
  4. 设置#3主要是索引引擎等SOLR / LUCERNE,以便更快地进行查询。
  5. 使用大数据等。

答案 1 :(得分:0)

您提出的问题是错误的,如果您的数据库搜索时间太长,那是因为您搜索的列未编入索引或其他与数据库相关的问题。用asp.net“快速”显示它们是你遇到的最少的问题。

向我们展示一些代码,并且更容易提供帮助。