仓库配置如何影响动态表性能¶
仓库的大小并不总是与其成本相关。要选择最优仓库大小,请对不同的仓库大小进行实验并比较查询性能。
通常,较大的仓库通过增加内存和并行性来提高查询性能:
内存:如果查询所需的内存超过仓库所能提供的,临时数据将溢出到本地存储,从而增加查询必须执行的总工作量。更大的仓库可以防止这种溢出,从而显著加快查询速度。
并行性:并行性通过将工作分成更多部分来加快查询速度,从而使每个部分完成得更快。只要查询提供足够的并行性,增加仓库大小通常会在不提高成本的情况下缩减查询时间。例如,从一个小型仓库移到一个中型仓库通常会使成本翻倍,并使运行时减半。
然而,超出某个点后,额外的并行性带来的回报将递减。因此,成本最优的仓库规模通常足够大以防止溢出,但又足够小以避免并行性饱和。刷新所需的最佳大小通常略大一些。
如果您的动态表增量刷新,初始刷新 通常需要比后续刷新更大的仓库。调整工作流,从较大的仓库开始,创建动态表,然后再缩减仓库大小。
有关仓库大小调整和相关成本的更多信息,请参阅 虚拟仓库 Credit 使用量。