データ分散でのROWIDの理解

TimesTen Scaleoutでは、行分散のために一意のIDが必要になります。すべての要素にわたる一意性を確保するために、ROWIDが使用されます。

K-safetyが1に設定されている複製分散スキームの表、およびK-safetyが2に設定されているすべての表(分散スキームが何であっても関係ありません)の場合、行の各コピーの物理的な場所は異なるため、行の各コピーのROWID値は異なります。この場合、ROWIDベースのアクセスを使用すると、TimesTen Scaleoutは最初のデータ領域のROWIDの値を返します。最初のデータ領域の行を使用できない場合、TimesTen Scaleoutは次(2番目)のデータ領域のROWIDを返します。

ROWIDは行の特定のコピーの識別子であるため、そのコピーを使用できない場合は、ROWIDで行にアクセスできません。この場合は、主キーで行にアクセスする必要があります。

『Oracle TimesTen In-Memory Database SQLリファレンス』ROWID疑似列を参照してください。

ノート:

アプリケーションは、データベースにROWID値を格納せず、これらの値を後で使用しようとします。アプリケーションはトランザクションでROWIDをフェッチし、後で同じトランザクションでROWIDを使用できます。