It is tempting to assume "a bigger SQL Warehouse is always faster," but in practice you need to understand three levers — size, cluster count, and cache settings — or you will just inflate costs without gaining performance. This article walks through sizing strategy, concurrency control, how each cache layer behaves, and a concrete tuning workflow.
SQL Warehouse size determines how much compute each cluster gets. Larger sizes process individual queries faster, but DBU cost scales proportionally.
| Size | DBU/h per cluster | Typical workload | Concurrency guideline |
|---|---|---|---|
| 2X-Small | 2 | Lightweight dashboard queries; dev and test use | 2-4 |
| X-Small | 4 | Day-to-day queries for small teams; data validation | 4-8 |
| Small | 8 | Aggregations and reports on mid-sized tables (up to a few hundred GB) | 8-12 |
| Medium | 16 | Joins on large tables; post-ETL validation | 10-16 |
| Large | 32 | TB-scale full scans; complex window functions | 12-20 |
| X-Large | 64 | Multi-TB heavy analytics; wide JOINs | 16-24 |
| 2X-Large | 128 | Enterprise-wide aggregations; BI tool integrations | 20-30 |
| 3X-Large | 256 | Extreme workloads | 24-36 |
| 4X-Large | 512 | Largest-scale real-time analytics | 30-48 |
Adding clusters scales out concurrency, but each cluster maintains its own Disk Cache, so cache hit rate can drop. Use sizing up (scale up) to make a single query faster, and adding clusters (scale out) to handle more concurrent queries.
When resources run out, the SQL Warehouse queues incoming queries. If a dashboard load triggers many queries at once, Queuing Time dominates the total latency and user experience suffers significantly.
Result Cache returns the previous result set whenever the exact same SQL text runs again. It skips compilation and data scanning entirely, making it the fastest cache layer.
For workloads that run the same query repeatedly — like dashboards — Result Cache is extremely effective. It does not help with ad-hoc queries whose WHERE clause parameters change every time.
Disk Cache stores data read from remote storage (S3/ADLS/GCS) on the local SSDs of Warehouse nodes. On the second and subsequent queries, scans hit local SSDs instead of going over the network, which significantly improves scan speed.
Predictive I/O learns from historical query patterns and prefetches data Databricks expects you to need next. It uses table statistics and query history to fetch files that match your filter conditions ahead of time.
IWM is available on Pro / Serverless Warehouses and dynamically allocates Warehouse resources per query. Classic Warehouses assign queries to fixed slots; IWM gives small queries fewer resources and large queries more, automatically.
| Aspect | Classic Warehouse | Pro / Serverless (IWM enabled) |
|---|---|---|
| Resource allocation | Fixed slots | Dynamic, sized to the query |
| Small queries | Consume the same slot as large queries | Finish quickly with minimal resources |
| Queuing frequency | Frequent — slots fill up | Reduced thanks to efficient allocation |
| Configuration | Manual (configure max concurrency) | Automatic (no admin tuning required) |
Here is the recommended sequence we use in production to improve SQL Warehouse performance.
First, classify queries into "dashboard" (same query repeated), "ad-hoc" (different every time), and "ETL validation" (heavy joins and aggregations). Isolate workloads with very different profiles onto separate Warehouses.
Use Query Profile to inspect scan volume and execution time, then pick an initial size based on the table above. When in doubt, start small and step up gradually — it is the safer path.
Set Scaling Policy to Optimized, Min Clusters to 1 (to avoid cold starts), and Max Clusters based on peak concurrency.
Set Auto Stop to around 10 minutes to retain Disk Cache while balancing idle cost. For dashboard Warehouses, monitor Result Cache hit rate and consider removing non-deterministic functions and standardizing query text.
Regularly review Queuing Time, Execution Time, and Rows Scanned in Query History. If Queuing Time exceeds 10% of total, add clusters. If Execution Time is long, size up. If Rows Scanned is excessive, optimize the query (partitioning, Z-ORDER, additional filters).
Data Analyst Associate
問題 1
Users complain that a dashboard on a company's Databricks SQL Warehouse takes more than 30 seconds to load. Query History shows individual query Execution Time is only 2-3 seconds, but Queuing Time is over 25 seconds. Which fix is most effective?
正解: B
Execution Time is only 2-3 seconds — the bottleneck is Queuing Time (waiting for resources). Sizing up makes a single query faster but does little to clear the queue; raising Max Clusters scales out parallel capacity and shortens Queuing Time. CACHE SELECT is not a real syntax, and extending Auto Stop helps Disk Cache retention but is unrelated to Queuing Time.
Does resizing a SQL Warehouse after the fact affect running queries?
Resizing forces the Warehouse to restart. Any in-flight queries are queued and re-executed once the restart finishes. To avoid downtime, teams typically resize before peak hours or temporarily route traffic to a separate Warehouse.
Are there differences in caching behavior between Serverless and Classic SQL Warehouses?
Result Cache behaves the same in both. Disk Cache (SSD cache) is stored on local SSDs in Classic Warehouses, while Serverless uses a managed cache layer that handles SSD sizing automatically. Predictive I/O benefits also tend to be more pronounced on Serverless.
How are IWM (Intelligent Workload Management) and Query Queuing related?
IWM dynamically allocates Warehouse resources based on query priority and size, and it is available on Pro/Serverless Warehouses. Query Queuing is the behavior of holding queries when resources are exhausted. With IWM enabled, resource allocation is optimized, so queuing happens less often — but under extreme load, queuing can still occur.
Practice with certification-focused question sets
無料で問題を解いてみるNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
Databricks Certifications: All 7 Exams, Difficulty & Study Plan (2026)
Complete guide to all 7 Databricks certifications — Data Eng...
Databricks Exam Difficulty Ranking: All 7 Certs Compared (2026)
Every Databricks certification ranked by difficulty, with st...
Databricks Study Guide: Fastest Pass Route & Time Estimates (2026)
How to pass Databricks certifications efficiently. Official ...
Databricks Data Engineer Associate: Complete Guide (2026)
Domain-by-domain breakdown of the Databricks Certified Data ...
Databricks Data Engineer Professional: Complete Guide (2026)
Tactics for the Databricks Certified Data Engineer Professio...