허브로 돌아가기
FAQ

Snowflake 시퀀스 FAQ

Snowflake SEQUENCE 객체에 대해 메인 가이드 외의 추가 자주 묻는 질문.

시퀀스를 사용하려면 어떤 권한이 필요한가요?

NEXTVAL을 호출하려면 시퀀스에 대한 USAGE 권한이 필요합니다. 시퀀스를 생성하거나 변경하려면 CREATE SEQUENCE 권한 또는 스키마 소유권이 필요합니다. 시퀀스는 다른 스키마 객체와 마찬가지로 스키마 수준의 권한을 상속받습니다.

Snowflake에서 시퀀스 캐싱은 어떻게 작동하나요?

Snowflake는 기본적으로 시퀀스 값을 캐시합니다(캐시 크기 20). 고빈도 NEXTVAL 호출의 성능을 높이기 위해서입니다. 캐시된 값은 서버 재시작 시 사라져 결번이 더 커질 수 있습니다. 결번을 최소화하려면 성능 저하를 감수하고 NO CACHE를 설정하세요.

시퀀스를 특정 값으로 재설정할 수 있나요?

ALTER SEQUENCE seq_name SET VALUE = n으로 재설정합니다. 다음 NEXTVAL 호출은 n + 증분값을 반환합니다. 또는 새로운 START 값으로 시퀀스를 CREATE OR REPLACE하여 완전히 재설정할 수도 있습니다.

시퀀스는 트랜잭션에 안전한가요?

NEXTVAL 호출은 트랜잭션에 종속되지 않습니다. 값이 한 번 소비되면 트랜잭션이 롤백되어도 다시 발급되지 않습니다. 결번이 생길 수 있는 대신 고유성을 보장합니다.

관련 페이지