【SQL】主キーにシーケンスを使っている表へのINSERTのチューニング方法


本日は、主キーにシーケンス(sequence)を使っている表へのINSERTのチューニング方法を紹介します。

基本的なINSERT文のチューニング方法は↓で紹介していますので参考にしてください。
>>INSERT文のSQLチューニング方法

主キーにシーケンスを使っている表へのINSERTのチューニング方法

シーケンスは便利で、連続した値を採番するのに適しているので使っている方も多いと思います。

ただ、そのまま使っているよりも、少しパラメータを変えてあげるともう少し速くなります。

それは、シーケンスキャッシュの値です。
シーケンスキャッシュとは、ORACLEデータベース側で、既に採番した値をメモリにいくらかもっておく機能になります。
シーケンスを使ったINSERT文を大量に実行する場合などに効果が出てきます。

通常デフォルトの値は、20だったと思います。
この値を少し高めに設定しておくと、採番する時間が少しだけ短縮されることになります。

大体1000くらいに設定していることが多いようですね。
実際に、5000とか10000とかにしてもあまり効果は変わりませんでした。メモリを余分に食ってしまうので1000くらいで調度いいのでしょう。

どれくらい効果が出るかは、実行する処理のよって変わってくるので、まずは試してみることをオススメします。

◆シーケンスキャッシュを設定方法

create sequence table1_seq cache 1000

;

最後に

最後までお読みいただきありがとうございます。

SQLのチューニング方法は↓で紹介していますので参考にしてください。
>>SELECT文のSQLチューニング方法まとめ