This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 问一个SQLServer的问题。在多用户runReport(huge)
的时候服务器会变得很慢。不知道大家对这种情况有什么解决方案
-nealzhao(neal);
2005-7-8
(#2387216@0)
-
在用户RUN REPORT的时候,要占用很多的 system memory, 同时I/O的READING 和 WRITING也在互相影响。如果再加上一些引起的SHARED LOCK等等,自然系统的整体PERFORMANCE 要受影响了。一个办法是可以把REPORTING放在另一个SERVER上,然后通过REPLICATION对两个SERVER进行SYNCHRONIZATION。
-yangn(Raymond);
2005-7-8
{97}
(#2387252@0)
-
1.用PROFILER把huge query 找出来. 看看statistics 是不是missing. 是的话建全statistics.2.然后看WHERE里的列是否都有索引,没有的话建全.
3.design aggregation. query 太复杂,在索引饱和的情况下只能手工把数据预先计算好.4.建OLAP CUBE,其实就是自动化的aggregate,对于select all sum/ cross-tab/drill down的 需求很有效果,有时简单的MDX查询要改成SQL查询能累死SQLSRV.
-findinghouse(不写错别字。0);
2005-7-8
{150}
(#2387560@0)
-
一并谢过。我回头试试。
-nealzhao(neal);
2005-7-8
(#2387601@0)