シーケンスのキャッシュ

 

(8.0.29)
https://dev.mysql.com/doc/refman/8.0/ja/innodb-auto-increment-handling.html#innodb-auto-increment-lock-modes

select @@innodb_autoinc_lock_mode;

0 -> 従来型
1 -> 連続
2 -> インターリーブ

デフォルトは2で、複数のステートメントを同時に実行できる

(19c)

drop sequence seq1;
create sequence seq1 cache 100;

select sequence_name,cache_size from user_sequences
where sequence_name='SEQ1';


デフォルトでキャッシュ有効 (キャッシュサイズは20)

(14)

drop sequence seq1;
create sequence seq1 cache 100;


select schemaname, sequencename, cache_size
from pg_sequences where sequencename = 'seq1';

デフォルトでキャッシュ無効★

(2019)
https://docs.microsoft.com/ja-jp/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-ver15


drop sequence seq1;
create sequence seq1 cache;
create sequence seq1 cache 100;

select name, is_cached, cache_size
from sys.sequences
where name = 'seq1';

デフォルトでキャッシュ有効 (キャッシュサイズはDatabase Engineが自動設定)