Performance 使用SSR的SQL Server安装程序(创建/使用视图、SP和UDF)

Performance 使用SSR的SQL Server安装程序(创建/使用视图、SP和UDF),performance,installation,reporting-services,cpu-usage,Performance,Installation,Reporting Services,Cpu Usage,保存和使用SSRS reporting services的视图、SP和UDF的最佳方式是什么?许多用户将使用这些视图、SP和UDF,并且一些订阅的报告将被发送出去 我是否: 通过计划作业在夜间将其写入表,以直接读取预保存的查询结果 使用一个带有临时表的SP,该临时表具有基于每个视图SQL的索引,以便将SSR的所有内容都放在一个位置 如果答案是“这取决于我想要什么”,如果您能给我提供任何资源,让我了解如何在性能问题最小的情况下将查询数据获取到SSR的理想设置,我将不胜感激 谢谢你 背景/说明 S

保存和使用SSRS reporting services的视图、SP和UDF的最佳方式是什么?许多用户将使用这些视图、SP和UDF,并且一些订阅的报告将被发送出去

我是否:

  • 通过计划作业在夜间将其写入表,以直接读取预保存的查询结果
  • 使用一个带有临时表的SP,该临时表具有基于每个视图SQL的索引,以便将SSR的所有内容都放在一个位置
  • 如果答案是“这取决于我想要什么”,如果您能给我提供任何资源,让我了解如何在性能问题最小的情况下将查询数据获取到SSR的理想设置,我将不胜感激

    谢谢你


    背景/说明 SQL Server对我来说并不陌生,但在编写SQL Server的部分时,我不认为自己有足够的经验(1年)来开发“礼仪”。我觉得自己养成了很多坏习惯,这些坏习惯是由基本的SQL知识、在线搜索和奇怪的MS SQL server课程形成的。搜索量是无止境的,我并不是说SQL Server的每个部分(UDF、SP和视图)都没有答案

    我工作的公司有许多服务器、许多数据库,用于许多正在使用的外包前端系统。问题是性能,我搜索得越多,就越意识到数据库的设置现在可能完全是疏忽和业余的。当我加入设置时,使用了很多视图,每个“结束”视图都有一个超过4个视图的依赖关系树,包括函数的使用,每个视图的范围从统计数据的聚合计算到通过数据透视和取消pivot重新排列。给我的理由是,我们可以在哪个视图中找出出错的部分。不足为奇的是,服务器现在突然受够了这一点,并且在每次运行报告或视图时都会达到100%的峰值,从而影响用户的前端系统性能


    我的PP强调了我的挫败感和我在公司(code monkey)中的立场,我自己找到了一个答案,结果用相反的拇指将键盘上的键推回,吸引了这里的专家。

    这个问题对于stackoverflow来说实在太宽泛了。我会试着给你们一个快速的概述,我认为你们在问什么,但实际上你们在这里要求的太多了,一个单一的答案。本网站主要关注解决特定问题,而不是开发的一般过程。我想可能会有人来结束你的问题

    每夜餐桌上的货物 根据任务的复杂性,这正是SSIS(SQL Server集成服务)的用途。您可以构建执行数据转换和数据加载的自动化流程。它用于构建可维护的数据集成解决方案。不过,学习使用SSI(尤其是正确地使用SSI)是一项完整的任务。事实上,SQL Server 2012 MCSA的第三次考试专门针对SSI。不过,如果表加载没有那么复杂,那么将它们作为SQL任务运行也同样有效

    数据库结构和视图/SPs/函数/etc的使用 这是一个非常深入的主题,它完全取决于您正在尝试做什么,数据的结构如何,运行的硬件类型等。当然,使用视图、函数和存储过程是很好的。它们支持代码重用,并允许您封装SSRS报告的逻辑,而不使用实际的报告编写器

    但是,SQL需要编写良好,否则会出现性能问题。但是,当然,不管你把代码放在哪里,这都是事实。即使SQL只是SSRS报告中的一个数据集,它也会运行缓慢,如果编写得不好,就会影响服务器。如果数据库配置不正确,它可能会有糟糕的性能。索引和其他加速数据库的技术总是很重要的

    最重要的是,所有事情都需要记录在案,以便其他人(或你以后的自己)能够在十个月内明白事情的来龙去脉

    训练 如果你的雇主希望你开发复杂的数据库解决方案,我强烈建议你说服他们给你上一些学习SQL Server的课程。当然,在SQL Server 2012中学习获得MCSA的课程将非常有用。获得认证无疑让我看到了很多可能实现的事情,这些事情我以前不知道,或者只是没有想到

    第一个考试将涵盖编写SQL查询和有助于提高性能的不同内容,以及在检索或编写数据时可以利用的许多很酷的功能。第二个考试将涉及数据库服务器管理、故障排除和一些性能调优。第三个考试是关于SSI以及如何存储数据以实现更好的分析和报告

    即使你只是为了这些考试而阅读微软学习书籍,而从不参加考试,你也会学到很多知识。还有其他一些书也不错,比如,但最终听起来,在您真正做出关于如何实现解决方案的良好设计决策之前,您需要对SQL Server平台有更深入的了解

    结论 最后,编程就是编程。您的第一个目标是尝试创建一个可维护的有效解决方案。然后再调整系统的性能。语言和平台的细节并不会影响到这些。但是为了获得系统的最佳性能,您需要了解该系统。这里的答案不会给你你想要知道的一切