我正在研究MS SQL服务器上有大表(1000万条记录)的项目,我们需要使用非常复杂的过滤器(跨越10 +列)查询该表,并根据不同的字段对结果进行排序。用户在UI上的选择。
查询运行起来有点慢,因为我们需要在存储过程中使用临时表来进行我们需要的所有过滤和排序。
我想我可以使用一个进程来加载我们在Raven DB中查询的过滤器部分使用的表的一部分,实际上用SQL Raven DB层替换SQL中的存储过程和索引对
你认为我应该花更多的时间来研究为什么存储过程缓慢并做一些优化,或者你认为Raven DB方法能给我带来更多好处吗?
答案 0 :(得分:3)
听起来好像你的架构中已经有很多复杂性和开销。引入新技术似乎不太可能减少复杂性。所以我当然认为你应该调查优化现有设置的可能性。
您应该注意一件事:索引视图。这将允许您构建所描述的查询层,但具有内置的SQL Server功能。因此,工作应该更容易(如果不是那么有趣!)。 Find out more。
答案 1 :(得分:1)
在尝试加快速度之前,您应该始终确定 为什么的速度很慢。
答案 2 :(得分:0)
这取决于您的数据。 如果您遇到困难的查询,可以对表示层使用非规范化。没有任何连接,只有排序。