Data Pipeline Automation in Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake

![]()
ALTER TABLE logistics.shipments
ADD SEARCH OPTIMIZATION;
SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTOQUERY_ACCELERATION_MAX_SCALE_FACTOR: default 8; 0 means unlimited, not disabledALTER WAREHOUSE harbr_wh SET
ENABLE_QUERY_ACCELERATION = TRUE
QUERY_ACCELERATION_MAX_SCALE_FACTOR
= 8;
ALTER TABLE logistics.delivery_events
CLUSTER BY (region, dispatch_date);
CREATE MATERIALIZED VIEW
logistics.emea_summary_mv AS
SELECT region, carrier_id,
COUNT(*) AS shipments,
AVG(delivery_days) AS avg_days
FROM logistics.shipments
WHERE region = 'EMEA'
GROUP BY region, carrier_id;
| Signal in the Query Profile | Method to Consider |
|---|---|
| TableScan reads almost all partitions; equality lookup on a high-cardinality column | Search Optimization |
| Heavy aggregation, large scans, arrives unpredictably | Query Acceleration Service |
| Same filter columns appear in most queries; pruning is weak | Automatic Clustering |
| Same expensive aggregation runs frequently on slow-changing data | Materialized View |
Data Pipeline Automation in Snowflake