Snowflake'te Veri Pipeline'larını Otomatikleştirme
Emily Melhuish
Technical Curriculum Developer, Snowflake

Snowflake sonuçları farklı kapsam ve süreyle üç düzeyde önbelleğe alır

| Koşul | Ne zaman önbellek kaçırılır… |
|---|---|
| Sorgu metni birebir aynı | Büyük/küçük harf, boşluk veya takma adlar farklı |
| Yeniden kullanılamaz işlev yok | Çalışmalar arasında değişen işlevler: RANDOM |
| Alttaki tablolar değişmedi | Son çalışmadan beri DML, yeniden kümelendirme veya yakınsama |
| Kalıcı sonuç hâlâ mevcut | 24 saatlik TTL yeniden kullanılmadan doldu veya 31 gün |
| Rolün gerekli ayrıcalıkları var | SELECT: rolün ayrıcalığı yok SHOW: farklı rol |

Ambar önbelleği
Meta veri önbelleği
Budamayı engeller:
SELECT *
FROM logistics.shipments
WHERE MONTH(dispatch_date) = 3;
Budamaya izin verir:
SELECT *
FROM logistics.shipments
WHERE dispatch_date >= '2024-03-01'
AND dispatch_date < '2024-04-01';
SELECT * kullanmaktan kaçının
-- Tüm sütunları okur
SELECT *
FROM logistics.shipments
WHERE region = 'EMEA';
-- Yalnızca gerekeni okur
SELECT shipment_id
, delivery_days
FROM logistics.shipments
WHERE region = 'EMEA';
Örtük çapraz birleştirmelerden kaçının
-- Birleştirme koşulu yok = Kartezyen
SELECT s.shipment_id
, c.name
FROM shipments s, carriers c;
-- ON koşullu açık JOIN
SELECT s.shipment_id
, c.name
FROM shipments s
JOIN carriers c ON s.carrier_id = c.id;
Snowflake'te Veri Pipeline'larını Otomatikleştirme