データ分散での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
を使用できます。