限制并发运行的查询¶
本主题讨论仓库所有者或管理员如何减少仓库中并发运行的查询次数,以提高这些查询的性能。
在仓库中并发运行的查询必须共享仓库资源,这意味着每个查询获得的资源可能较少。您可以使用 MAX_CONCURRENCY_LEVEL 参数来限制仓库中运行的并发查询数量。随着竞争仓库资源的查询次数减少,查询可能会获得更多资源。
降低并发级别可能会提高单个查询的性能,尤其是大型、复杂或多语句查询,但这些调整应该经过充分测试以确保它们达到预期的效果。
请注意,降低仓库的 MAX_CONCURRENCY_LEVEL 可能会导致更多查询进入队列,从而影响这些查询的性能。使用专用仓库或使用 Query Acceleration Service 等其他策略可以在不影响其他工作负载的情况下提高大型或复杂查询的性能。
有关更多信息,请参阅 MAX_CONCURRENCY_LEVEL。
备注
调整 STATEMENT_QUEUED_TIMEOUT_IN_SECONDS 参数可以取消查询,而不让查询长时间停留在队列中。
如何降低 MAX_CONCURRENCY_LEVEL¶
默认最大并发级别为 8。要降低级别,请使用 ALTER WAREHOUSE 命令指定一个较小的数字。例如:
ALTER WAREHOUSE my_wh SET MAX_CONCURRENCY_LEVEL = 4;