问:我们需要在SQL Server 2005数据库报告。包含报告资料数据的有六个表,但是这些表里已经包括了5-700万行数据了。我们一直都需要使用这些表,正努力让性能也包括报告。有没有什么技巧能够帮我们提高性能呢? 答:很多种解决方案能够提高SQL Server报告性能。
下面四种解决方案中,第一种和第二种是一般的解决方案,其余两种是有关SQL Server报告服务的解决方案。 1、创建一系列支持你们查询的索引。在OLTP系统中,我们需要更加仔细,因为更新行也需要更新所有的索引。因此,我们通常会试着在我们设置的索引数字之间保持平衡。
但是由于这些是报表,所以非常需要创建索引支持你们的报表查……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
问:我们需要在SQL Server 2005数据库报告。包含报告资料数据的有六个表,但是这些表里已经包括了5-700万行数据了。我们一直都需要使用这些表,正努力让性能也包括报告。有没有什么技巧能够帮我们提高性能呢?
答:很多种解决方案能够提高SQL Server报告性能。下面四种解决方案中,第一种和第二种是一般的解决方案,其余两种是有关SQL Server报告服务的解决方案。
1、创建一系列支持你们查询的索引。在OLTP系统中,我们需要更加仔细,因为更新行也需要更新所有的索引。因此,我们通常会试着在我们设置的索引数字之间保持平衡。但是由于这些是报表,所以非常需要创建索引支持你们的报表查询。,否则,性能就远远达不到要求。
2、创建一些“决策支持”表并且从大型表中选取数据来填充这些表。我通常看见报告同时处理大量的行数据,但是根据某个具体标准显示出来的只有少数几行高度总结的数据分组。在许多情况下,你能立刻进行查询(每天或者每周)并将结果存储在小的综合表中。你可以用你报表中那些小的报表,这样完成时间就更快了。如果你的报表使用的是聚合(aggregation),你就需要谨慎考虑这些技巧。
3、报表服务支持报告caching。Caching是怎么运行的呢?当你使用caching设置报告时(访问Report Properties并点击Execution),报告服务只执行一次查询。对于后来的报告请求,该报告用cached copy来提供。报告服务为每个唯一的参数组合创建了,所以一般第一个要运行该参数组合的人需要等待更长时间。将来的请求就会反馈得更快并且不用访问数据源。对于需要花长时间执行的报告查询来说,这已经节约了大量的时间。
4、同样,你也可以设置隐藏的报告并通过快照还原。你可以把它当成是预处理报告。快照也可以在几个小时前创建。这样快照就能创建报告。当你的报告不需要实际时间数据时,这种方法对于没有参数以及长执行时间的报告说来很合适。
作者
翻译
相关推荐
-
由缓冲池(Buffer pool)空间浪费引发的“血案”
对于SQL Server而言,内存(Memory)是其使用的最重要的资源之一,内存不足往往会导致很多问题发生,本文我们来看看题缓冲池空间浪费会造成什么样的性能问题。
-
基于硬件的PostgreSQL数据库性能调优
数据库性能优化有两个方面:提高数据库对电脑CPU、内存和硬盘的使用;最优化传递到数据库的查询。这篇文章讨论的是在硬件方面优化数据库性能。
-
使用局部索引提升PostgreSQL数据库性能
大家可能还不知道 PostgreSQL 支持对表数据进行局部索引吧?它的好处是既能加快这部分索引过的数据的读取速度,又不会增加额外开销。
-
Redis常见的性能问题和解决方法
Redis中Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化。