いくつかの奇妙なビジネス要件を満たすために、独自のシーケンスのようなカウンターを実装する必要があります。当然のことですが、Oracle がシーケンスを実装する方法についてもう少し理解したいと思います。たとえば、ロックの代わりにラッチを使用できますか?
ウェブ上でこれについて多くを見つけることができなかったので、ドキュメントへのポインタとあなたの個人的な経験からの洞察を歓迎します!
(重要な場合は 10g RAC)
いくつかの奇妙なビジネス要件を満たすために、独自のシーケンスのようなカウンターを実装する必要があります。当然のことですが、Oracle がシーケンスを実装する方法についてもう少し理解したいと思います。たとえば、ロックの代わりにラッチを使用できますか?
ウェブ上でこれについて多くを見つけることができなかったので、ドキュメントへのポインタとあなたの個人的な経験からの洞察を歓迎します!
(重要な場合は 10g RAC)
回答済みの問題の良いセットは次のとおりです。
オラクルがシーケンスの内部動作を公開しているとは思いませんが、Jonathan Lewis がシーケンスの動作に関する詳細な分析をここに書いています。その文書から:
このメカニズムは Oracle の内部にあるため、非常に効率的であり、従来のエンド ユーザーがコード化したシーケンス オブジェクトのシーケンス テーブルで発生する通常のロック競合を回避します。 '; これらは それぞれnextvalとcurrval呼び出しです。
nextvalリクエストは、グローバル キャッシュに移動して、次に利用可能なシーケンス値を取得し、それをセッションのローカル メモリにコピーします。
ギャップのない数列が必要ですか?これを読んでください: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4343369880986
独自のシーケンスを実装する必要がある理由を説明する必要があると思います。解決しようとしている問題がわかっている場合は、回答を提供できる可能性があるため、独自のカスタム シーケンスを実行する必要はありません。