どのキュー テーブルでも、最初に定義する列は、キュー挿入タイムスタンプ(Queue Insertion Time Stamp、QITS)列でなければなりません。各キュー テーブルには1つだけのQITS列があり、それは以下の属性を正確に指定して定義する必要があります。
QITS_column_name TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
QITS_column_nameは、QITS列に指定した名前です。
精度の指定はTIMESTAMPデータ型の指定およびそのDEFAULT属性でオプションですが、そのどちらについても、6以外の精度値を定義することはできません。
QITS列はシステム定義ではなくユーザー定義ですが、QITSを定義する際にユーザーが指定できる意味のあるオプションはその名前だけです。
QITS列に以下のいずれかを定義することはできません。
- UNIQUE
- PRIMARY KEY
- 固有セカンダリ インデックス
- 識別列
QITS列をテーブルのNUPIにすることは可能ですが、そのような処理は避けてください。テーブルに明示的なプライマリ インデックス、プライマリ キー、または固有性制約列を定義しない場合は、テーブルに定義されている最初の列がQITS列であるため、その列がデフォルトでプライマリ インデックスになります。
非キュー テーブルの場合と同様に、テーブルに対するブラウズ モード選択操作のパフォーマンスが最適になるように、基本インデックス列のセットを選択してください。
キュー テーブルでのメッセージ識別やキュー配列などの機能のために、追加のキュー管理列を定義することが役立つ場合もあります。