2

我正在处理一个在 MS SQL 服务器上包含大表(1000 万条记录)的项目,我们需要使用非常复杂的过滤器(跨越 10 列)查询该表,并根据用户选择对不同字段的结果进行排序用户界面。

查询运行起来有点慢,因为我们需要在存储过程中使用临时表来完成我们需要的所有过滤和排序。

我想我可以使用一个过程来加载我们在 Raven DB 中查询的过滤器部分中使用的表部分,实际上用我可以查询的 Raven DB 层替换 SQL 中存储的过程和索引。

你认为我应该花更多时间来调查为什么存储过程很慢并进行一些优化,还是你认为 Raven DB 方法可以给我带来更多好处?

4

3 回答 3

3

听起来好像您的架构中已经有很多复杂性和开销。引入新技术似乎不太可能降低复杂性。所以我当然认为你应该研究优化现有设置的可能性。

您应该看的一件事:索引视图。这将允许您构建您描述的那种查询层,但具有内置的 SQL Server 功能。所以开始工作应该会容易得多(如果不是那么有趣的话!)。 了解更多

于 2011-03-17T11:55:25.143 回答
1

在尝试使其更快之前,您应该始终分析以确定某些东西为何变慢。

于 2011-03-18T02:05:24.560 回答
0

这取决于您的数据。如果您有困难的查询,您可以对表示层使用非规范化。没有任何连接,只有排序。

于 2011-03-22T19:55:16.883 回答