19(以下、OB)の新機能「開発者用リアルタイムSQLモニタリング」をご紹介しました。今回は別の新機能「スケーラブルシーケンス」について使い方を確認していきたいと思います。Databaseにある、一意な数値を生成することができるオブジェクトです(使用したことのある方も多いと思います)。18cより追加されたシーケンスのオプションです。従来のシーケンスと違い、値にインスタンス番号とセッション番号(から生成された値)を含めることにより一括ロード時の索引ブロック競合を防ぎ、パフォーマンス向上が見込まれます。-スケーラブルシーケンスの利用スケーラブルシーケンスの作成は、従来のシーケンスと同様に[シーケンス]画面で作成できます。18c以降のデータベースに接続し[シーケンス]画面を開くと[スケーラブル]オプションが表示されます。SEQUENCE文にSCALE句が追加され、スケーラブルシーケンスとして定義することができます。-スケーラブルシーケンスのEXTENDオプションまた、スケーラブルシーケンスのオプションとして[スケーラブル]の横に[EXTEND]オプションがあります。[EXTEND]がOFFの時、シーケンス値の桁数はMAXVALUE句=範囲(最大)で指定した値の桁数を超えることはできません。1の時のEXTENDオプションによるシーケンス生成値の違いは以下の通りとなります。※わかりやすいようにするため、結果の「インスタンス番号とセッション番号から生成された値」部分を赤くしていますが、実際の製品でこの表示を行うことはできません。-したがって、既存のシステムで使用されているシーケンスをスケーラブルにする際は、シーケンスが生成する値の桁数がデータ格納されるテーブルカラムの桁数を超えないよう考慮する必要があります。まとめシーケンス自体は先述の通り昔からあるオブジェクトですので、馴染みのある方も多いと思います。昨今のデータ量増加に伴い、シーケンスで自動採番するテーブルへのデータ投入時にパフォーマンスの問題が発生するケースがあるようです。今回ご紹介したスケーラブルシーケンスを使用することにより、この問題を解消できる可能性があります。一度、検証してみてはいかがでしょうか。