sql-server - SSRS 参数 - 来自查询的值(并行性)
问题描述
我有具有单个数据源的 SSRS 报告 - SSAS 表格多维数据集。
该报告有 15 个参数,它们从查询(数据集)中获取它们的值。
当用户打开报表时,会填充每个参数,但会序列化每个查询执行(由 Profiler / Execution Log 确认)。每次执行最多需要 70 毫秒。因此,仅打开一份报告就需要 1,000-1,200 毫秒。
有没有办法并行填充报告参数?
注意
- 当报表运行时(用户单击“查看报表”),所有图表数据集都在并行执行,因此 SSAS/SSRS 绝对能够并行执行查询。
- 未选中数据源的“处理查询时使用单个事务”复选框。
SSRS/SSAS 版本:2016,最新的 SP/CU,Ent & Dev
更新:如果我将数据源更改为 SQL Server,问题仍然存在,SSRS 不会并行执行查询(用于报告参数)。
解决方案
您能否仔细检查数据集是否并行执行?默认情况下,报表中的数据集是并行执行的,无论它们是从单个数据源还是多个数据源生成的。在您的方案中,由于数据集使用相同的数据源,并且未为数据源选中“处理查询时使用单个事务”选项,因此数据集应并行执行。
推荐阅读
- hibernate - 带有可选@ManyToOne 的 HQL 多重右连接
- python - PyInstaller 不安装 pandas 之类的模块
- python - 卡在无法为使用 PEP 517 且无法直接安装的密码学构建轮子
- r - 对于大型闪亮应用程序,最初使用 bs_theme() 渲染页面可能会非常慢
- go - 为什么 time.Now() 和 time.Unix() 不同?
- ios - 由于对象列表很大,在 Xcode 中发布归档项目
- optaplanner - 为什么添加硬约束会产生不好的解决方案?
- rabbitmq - RabbitMQ 导出虚拟主机配置
- java - 从构造函数和方法输入数据
- javascript - 如何使用 Brain.js 或 Neuro.sj 实现 AI 以获取数字预测