Vous pouvez actualiser manuellement une table dynamique pour y inclure les données les plus récentes sans attendre la prochaine actualisation planifiée. Cela est utile pour les mises à jour uniques, ou lorsqu’une table a une latence cible importante et que la prochaine actualisation a lieu beaucoup plus tard.
Astuce
Évitez les actualisations manuelles fréquentes sur les tables dynamiques avec des tables dynamiques en aval qui sont censées s’actualiser en fonction d’une latence cible. Ces types d’actualisations manuelles peuvent entraîner l’omission des actualisations planifiées et empêcher la mise à jour des tables en aval.
Pour effectuer une actualisation manuelle, utilisez la commande ALTER DYNAMIC TABLE … REFRESH ou l’Snowsight, comme montré dans les étapes suivantes :
Recherchez votre table dynamique dans la liste, puis sélectionnez » Refresh Manually.
Pour les situations qui nécessitent un calendrier d’actualisation précis, telles que l’alignement des actualisations avec des planifications système externes ou des fenêtres de traitement par lots, vous pouvez utiliser une tâche avec une expression CRON pour déclencher l’actualisation.
Par exemple :
-- Create the taskCREATETASKmy_dt_refresh_taskWAREHOUSE=my_whSCHEDULE='USING CRON 0 0 * * * America/Los_Angeles'-- Example: daily at midnight PSTCOMMENT='Daily 5pm PT manual refresh of my_dynamic_table'ASALTERDYNAMIC TABLEmy_dynamic_tableREFRESH;-- Enable the taskALTERTASKmy_dt_refresh_taskRESUME;-- Show the taskSHOWTASKSLIKE'my_dt_refresh_task';
Dans la plupart des cas, Snowflake recommande d’utiliser la latence cible, qui optimise la fréquence d’actualisation et peut réduire les coûts par rapport aux planifications CRON fixes qui peuvent s’exécuter inutilement.