s-s-rS 2008 报告 SQL 选项
Posted
技术标签:
【中文标题】s-s-rS 2008 报告 SQL 选项【英文标题】:s-s-rS 2008 Report SQL options 【发布时间】:2010-07-07 11:25:43 【问题描述】:我想要一些关于存储 s-s-rS 2008 报告的报告 SQL 定义的最佳方法的指导。
[我们的 Web 应用程序将与 s-s-rS Web 服务交互并在 VS ReportViewer 控件中显示报告]
目前我看到 3 个选项
-
将 SQL 存储在 RDL [报告定义] 文件中。
将 SQL 存储在存储过程/视图中 [每个报告/父报告 1 个 SPROC]
将所有报告的 SQL 存储在一个报告表中,该表至少具有 ReportNameORGUID 和 ReportSQL 列。
出于该问题的目的,报告设计者将 [最初] 是我们自己的支持人员,他们具有 SQL 的“工作”知识。然而,开发小组的目标是保持对数据库标准和模式的严格控制。
选项 1 允许我们自己的报表设计人员轻松创建和更新报表,但 SQL 分布在所有报表中,可能难以控制、维护和更新。
选项 2 将具有性能优势,但 SPROCS 的数量可能会增加很多,并且要求报表设计人员具有创建 SPROCS 的能力,然后存在以下问题SPROCS 中强制执行的 SQL 标准
选项 3 从控制的角度来看很有吸引力,我们可以为设计人员提供一个简单的管理屏幕,以将 SQL 更新到报告表,但随之而来的是性能问题。
对于上述 3 个选项的附加优点或其他方面的任何意见,以及对我所做假设的更正,我将不胜感激。如果有其他可用的选项,最好知道。
此处详细介绍了 DBA pov 的首选解决方案 http://sqlserverpedia.com/blog/sql-server-bloggers/s-s-rs-should-i-use-embedded-tsql-or-a-stored-procedure/
提前致谢,
利亚姆
【问题讨论】:
那个 DBA 看起来像个白痴。 “哦不!如果我们使用嵌入式 TSQL,查询优化器可能会针对不同的参数生成不同的查询计划!” 【参考方案1】:我通常采用方法 #1。我的 SQL 嵌入在报告本身中。
无论使用哪种查询语言 - TSQL、MDX、PL/SQL 等,这对我来说都是一致的。
【讨论】:
以上是关于s-s-rS 2008 报告 SQL 选项的主要内容,如果未能解决你的问题,请参考以下文章