2026 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 2026:

ReleasedDescriptionImpact
August 2026

Optima Planning now matches queries by plan shape instead of exact query text, so execution feedback applies across structurally similar queries, not just identical repeats.

Speeds up recurring BI dashboard and application-generated SQL that varies query to query but shares the same join pattern, broadening which workloads benefit from Optima Planning.

July 2026

Dynamic table ADAPTIVE refresh mode (General availability). Automatically reinitializes a dynamic table with a full refresh when upstream change volume makes incremental refresh significantly more expensive, then resumes incremental refresh.

Removes the need to manually choose between incremental and full refresh. Recommended as the default refresh mode for incremental workloads.

July 2026

Custom incremental dynamic tables (General availability).

Lets more dynamic table pipelines stay on efficient incremental refresh instead of falling back to full refresh for query patterns that weren’t previously supported.

July 2026

Refresh multiple dynamic tables in a single ALTER DYNAMIC TABLE ... REFRESH statement. Shared upstreams refresh exactly once.

Reduces redundant refresh compute when manually refreshing several related dynamic tables together.

July 2026

VOLATILE scalar user-defined functions (UDFs) are supported with dynamic table incremental refresh in INCREMENTAL, AUTO, and ADAPTIVE refresh modes (General availability). Applies to UDFs written in Python, Java, Scala, JavaScript, and SQL.

More dynamic table pipelines that use VOLATILE UDFs can stay on incremental refresh instead of full refresh.

July 2026

Optima Planning uses dynamic sampling to sharpen filter-selectivity estimates for recurring workloads.

More accurate cardinality estimates produce better-informed query plans for recurring workloads.

July 2026Shared common sub-expressions in CASE expressions are computed once instead of repeatedly.Reduces compilation time for queries with large or repeated CASE expressions.
July 2026Large disjunctive tuple filters are rewritten as CTE semi-joins during compilation.Faster compilation for queries with large disjunctive tuple filters.
July 2026Improved pruning for queries that rely on IFF and CASE expressions.Faster compilation for queries that rely on generic partition pruning.
July 2026Query worker processes are reused across queries instead of starting fresh for each query.Lower latency for short-running queries.
July 2026Pushes filters below CTEs so less intermediate data is materialized.Faster execution for queries that filter data produced by a CTE.
June 2026

Adaptive Compute (General availability). Create Adaptive Warehouses or convert existing standard warehouses to Adaptive Warehouses without downtime.

Automatically tunes warehouse compute to each query’s needs, improving price-performance for variable workloads without manual sizing.

June 2026The plan cost model accounts for join-filter cost, producing better join orders.Faster execution for join-heavy recurring workloads through improved join ordering.
June 2026Improved automatic rewriting for materialized views.Faster compilation for materialized-view-rewrite-eligible workloads, with no missed rewrites.
May 2026

Optima Planning (General availability). Automatically improves query plans for recurring workloads by learning from past executions. No configuration required.

Improves performance for recurring workloads such as ELT pipelines, scheduled reports, and dashboard refreshes by using execution history to generate better-informed join orders and query plans.

April 2026

Improved runtime pruning for expressions with TIMESTAMP_TZ data types. Snowflake now prunes micro-partitions more effectively for timestamp-based filter predicates.

Improves performance for time-series queries with timestamp filters by skipping significantly more irrelevant micro-partitions, reducing I/O and execution time.

April 2026

Continued improvements to skew handling in hash joins, further reducing processing bottlenecks from unevenly distributed data.

Improves execution time for join queries with data skew by dynamically adjusting redistribution based on warehouse configuration.

April 2026

Performance Explorer now applies granular access control, aligning visibility with your privileges on warehouses, databases, and Snowflake database roles.

More users can access Performance Explorer to identify and troubleshoot slow queries without requiring ACCOUNTADMIN privileges.

April 2026

Dynamic table refresh boundaries with DYNAMIC_TABLE_REFRESH_BOUNDARY(). Decouples upstream and downstream dynamic table refreshes so each pipeline refreshes independently.

Avoids unnecessary cascaded refreshes, reducing compute cost and refresh latency for multi-stage dynamic table pipelines.

March 2026

Task graph overlap policy. Tasks support ALLOW_CHILD_OVERLAP and ALLOW_ALL_OVERLAP policies that permit concurrent graph runs.

Increases throughput for task-based data pipelines by allowing parallel execution instead of serial-only scheduling.

March 2026

Enhanced parallel scanning for queries accelerated by the Query Acceleration Service (QAS).

Improves execution time for QAS-accelerated queries by enabling more parallel I/O during scan operations.
March 2026

Cortex Search updates (General availability): Multi-index search and search service selection for agents, reducing latency and cost by querying one service instead of all.

Lower search latency and cost for Cortex Search-based applications and agents.
March 2026

Dynamic table SCHEDULER attribute (General availability). Set SCHEDULER = DISABLE for manual-only refresh; manual refreshes don’t cascade through the pipeline.

Reduces unnecessary refresh compute when external orchestrators (such as dbt) control refresh timing.
March 2026

MIN_BY and MAX_BY functions are supported with dynamic table incremental refresh (General availability).

More dynamic table pipelines can stay on incremental refresh instead of falling back to less efficient full refresh paths.

March 2026

Dynamically adjusts network message sizes based on the execution plan to optimize data transfer between processing nodes.

Improves execution time for interactive and latency-sensitive workloads by reducing network overhead. Particularly benefits short-running queries and high-concurrency scenarios.

March 2026Improved scanset construction to reduce lock contention during parallel query execution.

Improves execution time for scan-heavy queries, especially on larger warehouses with high concurrency. Reduces CPU overhead during parallel scan coordination.

March 2026

Identifies opportunities to push aggregations earlier in the query plan when common table expressions (CTEs) are present.

Improves execution time for complex queries with CTEs by reducing the volume of data processed in later stages of the query plan.

March 2026

Improved extraction pushdown through view columns, enabling more efficient scan and metadata usage for subcolumns accessed through views.

Improves execution time for queries that access subcolumns through views.
February 2026

Cortex Code CLI query optimizer skill (General availability). Use natural language to get AI-driven query optimization recommendations.

Helps users identify and fix slow queries by providing optimization suggestions through the Cortex Code command-line interface.

February 2026Performance improvements to the file pruner, reducing per-file pruning overhead for queries scanning many files.

Faster pruning decisions during compilation and execution, especially for queries that scan tables with many micro-partitions.

February 2026Improved range-based micro-partition pruning for more query patterns.

Reduces both compilation and execution time for queries with range predicates by skipping more irrelevant micro-partitions.

February 2026

More efficient aggregation processing when data fits on a single server node, avoiding unnecessary distributed processing overhead.

Improves performance for aggregation queries where the data volume doesn’t require distributed computation.
January 2026

AI_FILTER (General availability). Includes query-engine optimization that routes qualifying AI_FILTER patterns through optimized execution paths.

Up to 2-10x speedup and approximately 60% lower token usage on suitable queries.
January 2026

AI_AGG and AI_SUMMARIZE_AGG (General availability). Set-based AI aggregation functions that process groups natively instead of row-by-row AI_COMPLETE calls.

Up to approximately 2x throughput for large aggregation workloads compared to equivalent row-wise AI_COMPLETE patterns.

January 2026

Search optimization: Support for structured data types. Search optimization can improve performance of point lookup and substring queries on ARRAY, OBJECT, and MAP columns on standard and Apache Iceberg™ tables.

Improves query performance for queries that filter on structured data columns.
January 2026

Improved query performance with Snowflake Optima Metadata, which continuously analyzes your workload patterns and creates metadata to optimize pruning of unused micro-partitions. Snowflake Optima is only available on Snowflake generation 2 standard warehouses (Gen2).

Improves performance of queries by creating metadata for more efficient pruning.
January 2026

Improved pruning for join queries with inequality predicates. For example, the following join query uses the > operator in an inequality predicate:

SELECT *
  FROM employees e, managers m
  WHERE e.employee_id = m.employee_id AND
        e.salary > m.salary AND
        m.level = 'M5';

For this query, Snowflake prunes micro-partitions from the employees table where all salaries are below the lowest M5 manager salary.

Improves the performance of join queries that have inequality predicates.
January 2026Faster JSON parsing for PARSE_JSON operations.

Improves execution time for queries that parse JSON data. Queries with heavy JSON processing may see significant speedups.

January 2026

Improved compilation performance for queries with deeply nested CASE expressions by keeping them in a simplified form throughout the compilation process.

Reduces compilation time for queries with large CASE expressions, especially those with many branches.