Snowflake में डेटा पाइपलाइन ऑटोमेशन
Emily Melhuish
Technical Curriculum Developer, Snowflake

Snowflake तीन स्तरों पर परिणाम कैश करता है — हर एक का अलग स्कोप और अवधि

| शर्त | कब Cache Miss होता है… |
|---|---|
| क्वेरी टेक्स्ट बिल्कुल मेल खाए | केस, whitespace, या aliases अलग हों |
| कोई non-reusable functions नहीं | रन के बीच बदलने वाले functions: RANDOM |
| आधार तालिकाएँ अपरिवर्तित | पिछली रन के बाद DML, reclustering, या consolidation |
| संग्रहीत परिणाम उपलब्ध | 24-घंटे TTL बिना reuse, या 31 दिन |
| रोल के पास आवश्यक अधिकार | SELECT: role के पास अधिकार नहीं SHOW: अलग role |

Warehouse cache
Metadata cache
प्रूनिंग रोकता है:
SELECT *
FROM logistics.shipments
WHERE MONTH(dispatch_date) = 3;
प्रूनिंग संभव बनाता है:
SELECT *
FROM logistics.shipments
WHERE dispatch_date >= '2024-03-01'
AND dispatch_date < '2024-04-01';
SELECT * से बचें
-- हर कॉलम पढ़ता है
SELECT *
FROM logistics.shipments
WHERE region = 'EMEA';
-- केवल ज़रूरी कॉलम
SELECT shipment_id
, delivery_days
FROM logistics.shipments
WHERE region = 'EMEA';
Implicit cross-join से बचें
-- जॉइन शर्त नहीं = Cartesian
SELECT s.shipment_id
, c.name
FROM shipments s, carriers c;
-- ON शर्त के साथ स्पष्ट JOIN
SELECT s.shipment_id
, c.name
FROM shipments s
JOIN carriers c ON s.carrier_id = c.id;
Snowflake में डेटा पाइपलाइन ऑटोमेशन