提示USE_ADDITIONAL_PARALLELISM在Cloud Spanner中有什么作用

问题描述 投票:0回答:1

在文档中,我们可以在此处找到名为USE_ADDITIONAL_PARALLELISM的查询提示:https://cloud.google.com/spanner/docs/query-syntax#statement-hints

但是文档非常简短。根据我的理解,它将传播单个查询以在多个节点上执行。那是对的吗?

在什么情况下我们会使用它?它对基础设施有什么影响?它如何随节点数缩放?它是否需要一个查询来选择来自不同拆分的数据,或者它可以在单个拆分中工作?欢迎提供任何有意义的信息。

PS:它最初是在线程Using multiple "count distinct" has huge performance impact中引入的

google-cloud-spanner
1个回答
0
投票

Cloud Spanner查询可能具有多个分布级别。 USE_ADDITIONAL_PARALLELISM查询提示将使执行查询的节点尝试并预取分发队列中更远的子查询的结果。这在查询执行全表扫描或使用COUNT()MAXMIN等聚合进行全表扫描的情况下很有用,在这些情况下,相同的子查询可以分布到多个拆分中,而各个子查询可以分布到拆分返回相对较少的数据(例如聚合状态)。但是,如果各个子查询返回大量数据,则使用此提示可能会由于预取而导致使用方节点上的内存使用量显着增加。]

© www.soinside.com 2019 - 2024. All rights reserved.