2023 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 2023.
Released |
Description |
Impact |
---|---|---|
December 2024 |
Improved column replication. |
Reduces the time spent in the SECONDARY_DOWNLOADING_METADATA phase of a refresh operation for table columns. Improvements scale linearly with the number of columns replicated. |
November 2023 |
Improved execution times for some SHOW commands. |
Reduces the execution time for the SHOW TABLES, SHOW SCHEMAS, and SHOW DATABASES commands. Improvements are most significant for queries that return large result sets. |
November 2023 |
Search Optimization: Support for substring search in semi-structured data. (General Availability) |
Improves the performance of point lookup queries that use substring and regular expression functions against semi-structured data, including ARRAY, OBJECT, and VARIANT types. Previously, only equality searches on such columns could be optimized. |
October 2023 |
Reduced maintenance costs for materialized views. |
Reduces materialized view maintenance credits by improving the utilization of service resources. |
October 2023 |
Improved compile times for SQL expressions. |
Reduces the compilation time of queries that contain many SQL expressions. |
September 2023 |
Improved compile times. |
Reduces compilation times by skipping optimizations that will not result in performance improvements. |
August 2023 |
Ability to use a query hash to identify patterns and trends in query execution. |
Helps to monitor and analyze recurring queries by including a query hash of each query in ACCOUNT_USAGE views and INFORMATION_SCHEMA table functions. Can be used to determine the effects of performance improvements like choosing a new cluster key. |
August 2023 |
Improved execution times for non-clustered tables. |
Reduces execution time for SELECT and DML operations against non-clustered tables with micro-partitions that are smaller than average. |
August 2023 |
Ability to call the GET_QUERY_OPERATOR_STATS function to obtain query profile statistics. (General Availability) |
Helps to programmatically debug queries and gain insights into query performance. |
August 2023 |
Improved execution times for joins on wide build-side rows. |
Reduces execution time and improves memory management for queries matching wide rows on the build side of a join (for example, rows that include columns with long strings). |
July 2023 |
Improved compile times for materialized views. |
Reduces compilation times for materialized views based on tables that have 100s or 1000s of micro-partitions. |
July 2023 |
Ability to use Snowpipe Streaming. (General Availability) |
Enables low-latency streaming data pipelines to support writing data rows directly into Snowflake. |
July 2023 |
Improved selectivity and cardinality estimation. |
Uses improved plan selection to reduce execution time for queries with low selectivity. |
July 2023 |
Search Optimization Update: Support for substring search in VARIANT types. (Preview) |
Improves the performance of point lookup queries that use substring and regular expression functions against semi-structured data, including ARRAY, OBJECT, and VARIANT types. |
July 2023 |
Improved compile times for simple queries and DML statements. |
Reduces compilation times and improves memory management for simple DML statements and single-table queries with simple equality or range predicates. |
June 2023 |
Improved execution times for SELECT statements with LIMIT and ORDER BY clauses. |
Reduces execution time of some queries with long-running SELECT statements containing both LIMIT and ORDER BY clauses. |
June 2023 |
Improved execution times against secure views. |
Uses predicate pushdown to reduce execution time for queries against secure views. |
May 2023 |
Improved compile times for queries with numerous extraction expressions. |
Reduces compilation times for queries with many extraction expressions (such as those used for processing JSON). |
May 2023 |
Improved compile times for queries with numerous subqueries. |
Reduces compilation time for queries with 100+ subqueries. |
April 2023 |
Search Optimization Update: Ability to enable Search Optimization for specific columns. (General Availability) |
Point lookup queries that act upon a column can be improved without incurring the expense of enabling Search Optimization for the entire table. |
April 2023 |
Search Optimization Update: Support for substring operations. (General Availability) |
Improves the performance of point lookup queries that use substring operations such as LIKE and ENDSWITH. |
April 2023 |
Search Optimization Update: Support for VARIANT data. (General Availability) |
Improves the performance of point lookup queries that act upon VARIANT data (such as JSON). |
April 2023 |
Search Optimization Update: Support for geospatial functions with GEOGRAPHY objects. (General Availability) |
Improves the performance of point lookup queries that use a geospatial function in a predicate. |
April 2023 |
Ability to use the query acceleration service to speed up queries against tables that have Search Optimization enabled. (General Availability) |
Additional compute power provided by the query acceleration service can be combined with performance boost provided by search optimization. |
March 2023 |
Ability to use Snowpipe Streaming. (Preview) |
Enables low-latency streaming data pipelines to support writing data rows directly into Snowflake. |
February 2023 |
Ability to use the query acceleration service. (General Availability) |
Improves overall warehouse performance by reducing the impact of outlier queries. |
February 2023 |
Ability to call the GET_QUERY_OPERATOR_STATS function to obtain programmatic Query Profile statistics. (Preview) |
Helps debug queries and gain insights into query performance. |
February 2023 |
Ability to use memory-optimized warehouses. |
Memory-intensive queries can be run on Snowpark-optimized warehouses that provide 16x more memory per node and 10x the local cache compared with standard warehouses. |