sql-server - SSMS 能否显示 Azure Synapse 中的实际执行计划?

标签 sql-server azure azure-synapse

我正在研究 Azure Synapse。

在专用 SQL 池数据库中,SSMS 的“实际执行计划”被禁用。 在无服务器池数据库中,SSMS 显示“不支持设置统计信息”。在 SQL 执行中。

我忘记截图了。 “禁用实际执行计划”的图像是“4”。通过选择“执行”或使用以下快捷键来运行查询:F5。的this page .

我知道SSMS只能显示SQL计划,而不显示实际计划和实时统计信息。 但我仍然很神秘的事情是Synapse专家如何在Synapse中使SQL变得更快? 在突触中,他们不使用复杂的 SQL(例如大部分外连接 SQL)? 如果我的问题完全误解了Azure Synapse系统,请指出我。

最佳答案

更高版本的 SQL Server Management Studio (SSMS) v18.x plus 确实支持 Azure Synapse Analytics 专用 SQL 池的估计执行计划,因此您应该做的第一件事是检查您的版本和 update to the latest one 。以下是 SSMS 针对专用 SQL 池的示例计划,您可以看到它有一个循环运算符:

execution plan

就性能而言,您通常应该考虑在一个键上对大型事实表进行哈希分区,以提供良好的分布并复制您的小维度。使用循环分配作为起点或您认为它适合您的工作负载性能的地方。使用EXPLAIN 查看基于文本的估计执行计划。 支持视觉实际执行计划,但您可以查看性能 DMV,例如 sys.dm_pdw_request_steps:

SELECT * 
FROM sys.dm_pdw_request_steps
WHERE request_id = 'QID####'
ORDER BY step_index;

有关此列表的更多详细信息 here .

关于sql-server - SSMS 能否显示 Azure Synapse 中的实际执行计划?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67658671/

相关文章:

sql-server - SQL 服务器 : case multiple operations in then part

Azure函数: how to debug csx in VS Code

c# - 列出订阅

sql - 服务代理队列正在禁用自身,无法找出原因

sql-server - 模仿 group_concat() 与 GROUP BY 结合

适用于 Plesk 的 Azure 操作系统磁盘和数据磁盘

Azure Synapse Analytics - 高长度的列加载

azure - 与 ADF 同步增量数据

sql - 在 DACPAC 中使用 SQLCMD 变量作为用户名

sql - SQL Server : decimal(2, 中经度/纬度值的数据库存储?)