优化仓库以提高性能¶
在 Snowflake 架构中,虚拟仓库提供执行查询所需的计算能力。微调仓库提供的计算资源可以提高一个或一组查询的性能。
仓库所有者或管理员在尝试提高一个或多个查询的性能时,可以尝试以下与仓库相关的策略。当他们根据这些策略之一调整仓库时,可以通过重新运行查询并 检查其执行时间 来测试更改。
与仓库相关的策略只是提高查询性能的一种方式。有关涉及数据存储方式的性能策略,请参阅 优化存储以提高性能。
策略 |
描述 |
---|---|
将队列减到最少可以提高性能,因为当查询必须排队等待才能开始时,提交查询和获取其结果之间的时间会更长。 |
|
调整仓库的可用内存可以提高性能,因为当仓库内存不足时,查询的运行速度会显著变慢,这会导致字节在存储上“溢出”。 |
|
仓库越大,可用于执行一项查询或一组查询的计算资源就越多。 |
|
Query Acceleration Service 可将查询处理的部分工作卸载到无服务器计算资源,从而加快查询的处理速度,同时减少对仓库计算资源的需求。 |
|
如果查询可以从仓库的缓存而不是表中读取数据,则查询性能会提高。 |
|
限制在仓库中并发运行的查询数可以提高性能,因为这减少了对仓库资源有需求的查询。 |
小技巧
当仓库运行相似的工作负载时,优化仓库能更直接地提高查询性能。例如,如果仓库运行明显不同的查询,则可能会在不能从优化中受益的查询上浪费功夫来增强性能。
有关将工作负载分发到组织仓库的一般准则,请参阅 管理 Snowflake 的计算资源 (Snowflake 博客)中的“分析工作负载”部分。