是否有任何提示或指令可用于解释Azure SQL数据仓库上的查询,以返回优化器无法使用的推荐统计信息?或者,是否有一个工具可以分析一个工作负载并提出任何建议。
发布于 2016-12-23 04:16:54
今天不行。现在,建议在每一列上创建统计信息,因为创建最佳并行查询计划(即如何在节点之间移动数据以返回结果,因为这是MPP体系结构)。
在这里还可以找到一个如何编写脚本的示例(例如H)。
发布于 2016-12-25 22:41:20
如您所知,应该创建统计数据(根据这篇文章):
在涉及联接、组BY、有和WHERE子句的列上。
目前还没有工具可以做到这一点,但是如果您能够访问解释计划,它们会给出一定的信息。例如,shuffle_columns元素列出了SHUFFLE_MOVE中涉及的所有列
<shuffle_columns>col;</shuffle_columns>以及无数其他的信息。回顾一下我对计划这里所做的注释。
最后,(实际上我还没有这么做,我只是考虑这么做),您可以在Server 2016上设置数据库的副本,同时考虑到语法上的差异(例如分布、缺少唯一索引等等)。这将使您能够访问某些有用的资源,比如执行计划,包括索引建议,以及某些跟踪标志,这些标志告诉您使用了什么统计信息。我的意思是,数据库引擎和索引是非常不同的,所以我不知道这有多值得。如果我在这件事上有进展的话我会发帖的。我确实找到了一个问题:“为什么这个查询进展缓慢?”在这个平台上,要回答普通的"box产品“SQL Server要难得多,因为这些工具还不成熟。
https://stackoverflow.com/questions/41292662
复制相似问题