I am a newbie to Snowflake and documentation is not clear.
- Say I use a Large warehouse with 5 max concurrent queries
- There are 5 users who fire heavy duty queries which may take many minutes to finish
- The 6th user has a simple query to execute
- Does the processes running those 5 queries yield at any point in time or do they run to completion?
- Will the 6th user have to wait till the timeout limit is reached and attempt using a different Virtual Warehouse
Thanks!
The queue is a first-in-first-out queue like most (all?) other databases. If a query is queued because other queries are consuming all resources of the cluster then it'll have to wait until the other queries are finished (or timeout) before it can run. Snowflake won't pause a query that is running to "sneak in" a smaller query.
You could always resize the warehouse though to push through the query. Here is a good line from the documentation: