设计用户可以创建自己的搜索数据标准的系统的最佳方法是什么? “设计”是指数据存储,数据访问层和搜索结构。
我们实际上将重构一个用C#和ASP .NET编写的现有应用程序,我们不想更改基础结构。我们的主要问题是性能,我们使用MSSQL和DevExpress来构建查询。有些查询在4-5分钟内运行,查询中包含的所有列都有索引。
当我检查查询时,我发现DevExpress构建了太多“存在”子句,我对此不满意,因为我怀疑其中一些查询会跳过某些索引。
什么是DevExpress的替代品? NHibernate或实体框架?我们可以构建动态标准系统并将它们存储到数据库中吗?
我们是否还需要任何替代存储,如lucene索引或OLAP数据库?
答案 0 :(得分:0)
之前已经提出过这个问题,包括here。
问题在于,如果您的查询现在需要4-5分钟,那么想象一下当用户自己创建查询时它们会运行多快(/ sarcasm)。我建议您整理一些预定义的,调整良好的,查询并允许用户添加参数或过滤器,但不要让他们自己查询。您会后悔,不仅仅是出于性能原因,还因为他们无法理解如何正确限制查询,他们会得到错误的答案。