0

设计一个用户可以创建自己的标准来搜索数据的系统的最佳方法是什么?我所说的“设计”是指数据存储、数据访问层和搜索结构。

我们实际上将重构一个用 C# 和 ASP .NET 编写的现有应用程序,并且我们不想更改基础架构。我们的主要问题是性能,我们使用 MSSQL 和 DevExpress 来构建查询。一些查询在 4-5 分钟内运行,并且查询中包含的所有列都有索引。

当我检查查询时,我看到 DevExpress 构建了太多“存在”子句,我对此不满意,因为我怀疑其中一些查询跳过了一些索引。

DevExpress 的替代品可能是什么?NHibernate 还是实体框架?我们可以建立动态标准系统并将它们存储到数据库中吗?

我们还需要任何替代存储,例如 lucene 索引或 OLAP 数据库吗?

4

1 回答 1

0

这个问题以前曾被问过,包括这里

问题是,如果您的查询现在需要 4 到 5 分钟,想象一下当用户自己创建查询时它们会运行多快 (/sarcasm)。我建议您将一些预定义的、经过良好调整的查询放在一起,并允许用户添加参数或过滤器,但不要让他们滚动自己的查询。你会后悔的,不仅仅是因为性能原因,还因为他们不明白如何正确限制他们的查询,他们会得到错误的答案。

于 2010-04-17T17:22:37.763 回答