2025 Performance improvements

Important

Performance improvements often target specific query patterns or workloads. These improvements might or might not have a material impact on a specific workload.

The following performance improvements were introduced in 2025:

Released

Description

Impact

December 2025

Interactive tables and interactive warehouses (General availability). A new table type and warehouse type optimized for low-latency, high-concurrency interactive workloads such as real-time dashboards and data-powered APIs.

Delivers low-latency query performance for interactive workloads. Best performance when querying interactive tables with interactive warehouses.

December 2025

SPCS block storage volumes: Configurable IOPS up to 80,000 and throughput up to 2 GB/s on AWS (General availability).

Improves I/O performance for containerized workloads that require high storage throughput.

December 2025

Dynamic tables: Support for dual warehouses, allowing separate warehouses for heavy initialization versus normal refreshes.

Optimizes performance and cost for dynamic table maintenance by isolating resource-intensive reinitialization from regular incremental refreshes.

December 2025

Snowflake Data Clean Rooms: Column Policy Optimization reduces latency when adding a column policy with multiple columns.

Faster policy application for data clean room collaborations involving wide tables.

November 2025

dbt projects on Snowflake (General availability). Includes ~8-10x faster dbt result uploads compared to the preview release.

Significantly faster dbt project execution within Snowflake, reducing end-to-end pipeline times.

November 2025

Enhanced Query Acceleration Service (QAS) to intelligently determine when queries with LIMIT clauses can be accelerated.

More queries with LIMIT clauses (including those without ORDER BY) are now eligible for acceleration. QAS automatically determines when accelerating these queries improves performance, broadening the scope of queries that benefit from QAS.

November 2025

More accurate cardinality estimation for expressions and functions, leading to better join ordering and distribution decisions.

Improves query plan quality for queries involving function expressions in join or group-by clauses. Reduces execution time for queries affected by previous estimation inaccuracies.

November 2025

Improved cardinality estimation in the query optimizer using probabilistic data structures for faster and more accurate estimates during grouping operations.

Reduces compilation time and improves grouping selectivity estimation, leading to better query plans. Particularly benefits queries with complex grouping and aggregation patterns.

November 2025

Improved bloom filter pushdown, enabling earlier data elimination during both SELECT and DML (UPDATE, DELETE, MERGE) query processing.

Improves execution time for join queries and DML operations by applying filters earlier in the query plan, reducing the volume of data processed.

November 2025

Snowpipe Streaming with high-performance architecture on Azure and GCP (General availability).

High-throughput, low-latency ingestion now available on all three major cloud platforms.

October 2025

Insights about query performance provided in Snowsight (General Availability).

You can use these query insights to identify queries where you can improve performance.

October 2025

Enhanced predicate derivation logic to increase the coverage of filter propagation across more query patterns, generating additional derived predicates that enable earlier data elimination.

Improves execution time for queries with complex join and filter patterns by propagating more filters earlier in the query plan.

October 2025

Improved probe-side join pruning on numeric columns using larger approximation structures that better represent the build-side data distribution.

Improves performance for join queries by skipping more irrelevant data files, reducing I/O and execution time. Particularly benefits joins with clustered or low-cardinality build-sides.

October 2025

Simplifies the query plan by removing redundant grouping expressions based on functional dependencies.

Improves execution time for queries containing GROUP BY clauses with functionally dependent columns, reducing unnecessary computation.

October 2025

Enhanced filter pushdown through window functions, allowing filters to be applied before window function computation.

Improves execution time for queries where window functions previously blocked filter pushdown, reducing the volume of data processed by the window operation.

October 2025

Derives additional filter predicates from join key constraints to enable early data elimination. When a join key has a single constant value, that value is propagated as a filter to the opposite side of the join.

Improves performance for join queries by applying derived filters earlier, reducing the data processed in subsequent operations.

October 2025

Improved join ordering using cost-based optimization. The optimizer now evaluates join order alternatives using a cost model for queries with multiple joins.

Improves query execution times for complex queries with multiple joins. Queries that previously had suboptimal join orders may see significant performance improvements.

October 2025

Improved simplification of join conditions and HAVING clauses by factoring out common expressions.

Improves execution time for queries with complex join conditions or HAVING clauses that contain redundant or factorable expressions.

October 2025

Simplifies aggregates containing simple arithmetic expressions to enable further optimizations, including reduced table scans.

Improves execution time for queries with aggregations over computed expressions.

October 2025

Improved LIKE predicate selectivity estimation for more accurate query plan costing.

Improves join ordering and plan decisions for queries with LIKE predicates.

October 2025

Table optimization for Snowflake-managed Apache Iceberg™ tables (General availability), including automatic data compaction.

Improves query performance on Iceberg tables by automatically compacting small files into larger, more efficiently scannable files.

October 2025

Partitioned writes for Apache Iceberg™ tables (General availability).

Accelerates read queries from external Iceberg engines (Spark, Trino, and others) by writing data in a partitioned layout.

October 2025

Set a target file size for Apache Iceberg™ tables (General availability).

Improves cross-engine query performance by producing larger Parquet files tuned for engines like Spark, Delta, and Trino.

October 2025

Enforced join order with directed joins (General availability).

Lets you control scan and join order for performance tuning and migration scenarios where a specific execution order is required.

September 2025

Cortex AI functions supported in dynamic table incremental refresh. Functions such as AI_COMPLETE, AI_CLASSIFY, AI_FILTER, and AI_TRANSLATE can now run incrementally.

Dynamic tables using Cortex AI functions can refresh incrementally instead of requiring a full refresh, reducing compute cost and refresh latency.

September 2025

AI_TRANSLATE: More than 20% fewer input tokens for typical sentences, especially short phrases.

Lower cost per translation call, particularly for high-volume translation workloads.

September 2025

More efficient workload distribution.

Improves query execution time by detecting and adaptively redistributing workloads across nodes in the warehouse, without user intervention.

September 2025

Enhanced predicate derivation to propagate filter conditions across outer join boundaries.

Improves performance for queries with outer joins by applying filters earlier in the query plan, reducing the volume of data processed in subsequent operations.

September 2025

Snowpipe Streaming with high-performance architecture on AWS (General availability).

High-throughput ingestion (up to 10 GB/s per table) with low ingest-to-query latency.

August 2025

More efficient and accurate NDV estimations that lead to more effective query plans.

Improves query compilation and execution times, especially for DML statements.

August 2025

Improved filters that eliminate irrelevant data early, thereby reducing the volume of data that needs to be buffered to memory or storage. These filters reduce the amount of data processed before it’s used in a sub-query or Common Table Expression (CTE).

Improves query performance for complex queries where the same data is needed across different parts of the query plan. Subsequent filter operations are more efficient, saving time and compute resources.

August 2025

Improved query performance with Snowflake Optima Indexing, which continuously analyzes your workload patterns and automatically creates and maintains search optimization indexes in the background. Snowflake Optima is only available on Snowflake generation 2 standard warehouses (Gen2).

Improves performance of queries that include frequently used selective predicate patterns, such as repetitive point-lookup queries on a table. No user configuration or additional cost required.

August 2025

Adaptive redistribution of skewed data during query execution. Snowflake now detects when data is unevenly distributed across processing nodes during joins and automatically redistributes work to prevent bottlenecks. Applies to both SELECT and DML operations.

Improves execution time for queries and DML operations that encounter data skew during join operations. Applies broadly across workloads.

August 2025

Snowflake ML: Many Model Training and Distributed Partition Function. Train multiple ML models and process data in parallel across partitions and nodes.

Faster model training and data processing by distributing work across partitions and compute nodes.

August 2025

Dynamic table incremental refresh now supports UNION (both UNION ALL and UNION with DISTINCT semantics).

More dynamic table pipelines can stay on incremental refresh instead of falling back to full refresh, reducing compute cost and refresh latency.

July 2025

Enhanced predicate derivation to propagate filter conditions above projections, generating additional derived filters for downstream operations.

Improves execution time for queries with projections above filtered joins by deriving more filters earlier.

July 2025

Improved aggregation folding for queries with LIMIT clauses, reducing unnecessary table scans.

Improves performance for aggregation queries with LIMIT by skipping full table scans when possible.

July 2025

Improved probe-side skew handling in hash joins, expanding coverage to more query patterns.

Improves execution time for queries that encounter probe-side data skew during join operations.

July 2025

Faster execution through sharing plan fragments to avoid redundant computation in DML operations using common table expressions.

Improves execution time for DML operations (INSERT, UPDATE, MERGE) that reference the same data multiple times through CTEs.

July 2025

Improved selectivity estimation for derived filter predicates, leading to better join ordering decisions.

Improves execution time for queries with derived predicates by providing more accurate cost estimates to the optimizer.

June 2025

Expands coverage of the Query Acceleration Service (QAS) to Apache Iceberg™ tables.

QAS can now improve the performance of queries on Iceberg tables.

June 2025

Runtime pruning for queries with geospatial predicates using bounding box filtering.

Improves performance for geospatial queries by pruning micro-partitions based on spatial intersection, reducing scan volume.

June 2025

Faster execution when querying with prefix match patterns (LIKE clauses) by rewriting predicates for more effective pruning.

Improves execution time for queries using LIKE with prefix patterns by enabling micro-partition pruning that was previously not possible.

June 2025

Improved bloom filter derivation for outer joins, enabling early filtering opportunities on the null-extended side that were previously not viable.

Improves execution time for queries where outer joins are a bottleneck, by enabling earlier data elimination.

June 2025

More efficient cost-based search space exploration during query optimization, reducing the optimizer’s overhead for complex queries.

Improves both compilation and execution time for queries with many possible plan alternatives.

June 2025

Faster execution by removing unnecessary grouping columns in DML operations based on functional dependency analysis.

Improves execution time for DML operations with GROUP BY clauses that contain redundant columns.

June 2025

Snowflake Data Clean Rooms: Provider-run analysis runs faster after requiring log mount before submit.

Reduced analysis execution time for provider-run clean room workflows.

May 2025

Cortex Provisioned Throughput (General availability). Reserve inference throughput for managed AI workloads.

Guaranteed throughput for AI inference workloads, eliminating contention-related latency spikes.

May 2025

Generation 2 standard warehouses (Gen2) (General availability). Faster hardware and software optimizations for DML and scan operations.

Most queries finish faster on Gen2 warehouses. Performance gains are workload-dependent.

May 2025

Search optimization update: Support for Apache Iceberg™ tables.

Improves the performance of queries on Iceberg tables.

May 2025

Dynamic table incremental refresh now supports CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP filters.

More time-filtered dynamic table pipelines can stay on incremental refresh instead of falling back to full refresh.

May 2025

Improved performance of dynamic table refreshes that contain top-level QUALIFY clauses with RANK or ROW_NUMBER ranking window functions, specifically when the rank value is 1.

Dynamic tables using QUALIFY RANK() = 1 or ROW_NUMBER = 1 now refresh more quickly, improving performance for common deduplication and top-N use cases.

May 2025

Enhanced vectorized scanner availability for improved performance

Previously, the vectorized scanner could only be used with specific ON_ERROR settings (ABORT_STATEMENT or SKIP_FILE). This restriction has been removed. Now, you can enable the vectorized scanner with any ON_ERROR option, including CONTINUE, SKIP_FILE_num, and 'SKIP_FILE_num%'. This change allows the performance-enhancing vectorized scanner to be used in more situations. You may see faster data processing as a result.

May 2025

More accurate cardinality estimation for window functions with ROW_NUMBER = 1 filtering patterns, leading to better join ordering decisions.

Improves execution time for queries using common deduplication patterns by providing better cardinality estimates to the optimizer.

May 2025

Enhanced predicate derivation for queries on secure views, propagating filters more effectively.

Improves execution time for queries against secure views by applying filters earlier, reducing data processed downstream.

April 2025

Cortex Search: Option to disable reranking in search queries (General availability).

Reduces search query latency when reranking doesn’t improve result quality for your use case.

April 2025

Search optimization improves the performance of queries containing scalar functions.

Queries using scalar functions in equality predicates can run faster when search optimization is enabled.

April 2025

Expands coverage of the Query Acceleration Service (QAS) to more queries.

Improves the heuristics that QAS uses to determine whether or not a query will benefit from acceleration. As a result, more queries are eligible for acceleration by QAS.

April 2025

Improved cardinality estimation for foreign key join relationships.

Improves join ordering for queries involving foreign key joins by providing more accurate cardinality estimates.

April 2025

Improved extraction pushdown through functions, enabling more efficient scan and metadata usage for subcolumns.

Improves execution time for queries that extract subcolumns through function expressions.

March 2025

Search optimization improves the performance of queries containing scalar subqueries.

Queries with scalar subqueries can run faster when search optimization is enabled on the matching column.

March 2025

Search optimization: Support for column collations.

Improves query performance on columns that use a COLLATE clause.

March 2025

Improves the batching of files during replication refresh operations.

Replication refresh jobs that replicate up to 8 GB of data will have less variance and more predictability.

March 2025

Improves performance for dynamic tables with incremental refresh mode using left outer joins.

Provides faster incremental refresh performance for dynamic tables that contain one or more left outer joins. Performance gains can be substantial depending on the workload.

March 2025

Adaptively optimizes compute and I/O resources for queries executed against Apache Iceberg™ tables.

Improves Apache Iceberg™ query performance and memory efficiency in high-concurrency scenarios.

March 2025

Snowflake Scripting: Asynchronous child jobs in stored procedures (General availability). Run multiple child jobs concurrently instead of sequentially.

Improves stored procedure efficiency and reduces overall run time for multi-step data pipelines.

February 2025

Dynamic table incremental refresh: Broader support for UNION ALL patterns across multiple branches.

More dynamic tables with UNION ALL can use incremental refresh instead of full refresh, reducing compute cost.

February 2025

Increased MAX_CLUSTER_COUNT limits for multi-cluster warehouses and scaling policies that add or remove more than one cluster at a time.

More elastic scaling for high-concurrency workloads, improving throughput under load.

February 2025

Tasks can be scheduled to run as frequently as every 10 seconds.

Reduces the time required between scheduled task executions.

January 2025

Optimized COPY and INSERT bulk loads on empty hybrid tables (General availability).

Empty hybrid tables can use the same optimized bulk loading execution model for COPY and INSERT ... SELECT that was already used for CREATE HYBRID TABLE ... AS SELECT.