google-cloud-spanner - Cloud Spanner 中的 USE_ADDITIONAL_PARALLELISM 提示有什么作用
问题描述
在文档中,我们可以找到USE_ADDITIONAL_PARALLELISM
此处命名的查询提示:https ://cloud.google.com/spanner/docs/query-syntax#statement-hints
但是,文档非常简短。
- 据我了解,它将传播单个查询以在多个节点上执行;那是对的吗?
- 我们会在什么场景下使用它?
- 它对基础设施有何影响?
- 它如何随节点数量扩展?
- 它是否需要一个从不同拆分中挑选数据的查询,或者它是否适用于单个拆分?
欢迎任何有意义的信息。
PS:我最初是被介绍到这个线程中的提示
解决方案
Cloud Spanner 查询可能具有多个分布级别。查询提示将导致执行查询的USE_ADDITIONAL_PARALLELISM
节点尝试在分发队列中预取子查询的结果。这在查询执行全表扫描或使用聚合(如COUNT()
,等)进行全表扫描的情况下很有用MAX
,MIN
其中相同的子查询可以分布到许多拆分并且拆分的各个子查询返回的数据相对较少(例如聚合状态)。但是,如果单个子查询返回大量数据,则使用此提示可能会导致消费节点上的内存使用量由于预取而显着上升。
推荐阅读
- reactjs - 无法使用受控道具从父组件控制 Downshift selectedItem 道具
- ios - 如何在另一个现有数组中添加 json 数组
- unity3d - 从单个音频源与多个音频源快速播放相同的声音
- javafx - 如何在 swt 和 JavaFX 11 之间拖放
- r - 寻求有关 np 包中 npudens 功能的帮助
- javascript - 如何让 Visual Studio Code 导航到 React 组件的源文件?
- node-red - 如何不在不同路径中重复具有相同代码的节点
- javascript - 使用 Javascript (JQuery) 调用 WCF 休息服务未收到任何响应
- c# - 您如何使用 System.Net.Http.HttpClient 的基本身份验证?
- sql-server - 从存储过程中获取返回值为 -1