设计一个用户可以创建自己的搜索数据标准的系统的最佳方式是什么?我所说的“设计”是指数据存储、数据访问层和搜索结构。
我们实际上将重构一个用C#和ASP .NET编写的现有应用程序,我们不想改变基础设施。我们的主要问题是性能,我们使用MSSQL和DevExpress来构建查询。一些查询在4-5分钟内运行,查询中包含的所有列都有索引。
当我检查查询时,我发现DevExpress构建了太多的"exists“子句,我对此并不满意,因为我怀疑其中一些查询跳过了一些索引。
DevExpress的替代方案可能是什么?NHibernate还是实体框架?我们可以建立动态标准系统并将其存储到数据库中吗?
另外,我们是否需要任何替代存储,如lucene索引或OLAP数据库?
发布于 2010-04-18 01:22:38
这个问题以前已经被问过了,包括here。
问题是,如果你的查询现在花费了4-5分钟,想象一下当用户自己创建查询(/sarcasm)时,他们会运行得多快。我建议你组合一些预定义的,调优好的查询,并允许用户添加参数或过滤器,但不要让他们自己滚动查询。你会后悔的,不仅仅是因为性能原因,还因为他们不知道如何正确地限制他们的查询,他们将得到错误的答案。
https://stackoverflow.com/questions/2659106
复制相似问题