Snowflake Query Queuing and Concurrency Cost

Snowflake query queuing occurs when a warehouse cannot start a statement immediately because its available compute is occupied by other statements.

Queue time does not represent query execution. The warehouse can continue consuming credits while queries wait, and a long queue can increase the time a warehouse remains active.

Causes of queueing

A warehouse may queue queries because of concurrent demand, a workload that uses most of the cluster's resources, or a single large query that occupies capacity. A multi-cluster warehouse can add clusters for concurrent statements, while a larger warehouse provides more resources to each cluster.

Measuring cost

QUERY_HISTORY reports queued and execution timestamps. WAREHOUSE_METERING_HISTORY reports credits by warehouse and hour. Compare queue time, execution time, cluster count, and credits before changing size or concurrency settings.

Separating ELT, BI, and ad-hoc workloads can reduce contention and make cost attribution clearer. A multi-cluster warehouse can reduce queueing, but additional clusters consume credits. The cost is justified when the latency or throughput improvement matters.

Snowflake documents warehouse queuing and the QUERY_HISTORY view.