FAQ Séquences Snowflake
Questions fréquentes supplémentaires sur les objets SEQUENCE de Snowflake, au-delà de la page principale du guide.
Quelles permissions sont nécessaires pour utiliser une suite ?
Pour appeler NEXTVAL, vous avez besoin du privilège USAGE sur la suite. Pour créer ou modifier une suite, vous avez besoin de CREATE SEQUENCE ou de la propriété du schéma. Les suites héritent des droits au niveau du schéma comme les autres objets de schéma.
Comment fonctionne la mise en cache des suites dans Snowflake ?
Snowflake met en cache les valeurs de suite par défaut (taille de cache 20). Cela améliore les performances des appels NEXTVAL fréquents. Les valeurs en cache sont perdues au redémarrage du serveur, créant des trous plus importants. Définissez NO CACHE pour des suites à trous réduits, au prix des performances.
Puis-je réinitialiser une suite à une valeur spécifique ?
Utilisez ALTER SEQUENCE nom_suite SET VALUE = n pour la réinitialiser. Le prochain appel NEXTVAL renvoie n + incrément. Vous pouvez aussi faire CREATE OR REPLACE de la suite avec une nouvelle valeur START pour la réinitialiser complètement.
Les suites sont-elles sûres au niveau transactionnel ?
Les appels NEXTVAL ne sont pas transactionnels. Une fois une valeur consommée, elle n'est jamais réémise, même si la transaction est annulée. Cela garantit l'unicité, au prix d'éventuels trous.