テキスト・インデックスを作成します。
CREATE TEXT INDEX text-index-name ON [ owner.]table-name( column-name, ... ) [ IN dbspace-name ] [ CONFIGURATION [ owner.]text-configuration-name ] [ { IMMEDIATE REFRESH | MANUAL REFRESH | AUTO REFRESH [ EVERY integer { MINUTES | HOURS } ] ] }
IN 句 この句は、テキスト・インデックスが格納される DB 領域を指定するときに使用します。この句が指定されていない場合、テキスト・インデックスは default_dbspace オプションで指定された DB 領域に作成されます。
CONFIGURATION 句 この句は、テキスト・インデックスの作成時に使用するテキスト設定オブジェクトを指定するときに使用します。この句が指定されておらず、インデックスのカラムのいずれかが NCHAR の場合は、default_nchar テキスト設定オブジェクトが使用されます。それ以外の場合は、default_char テキスト設定オブジェクトが使用されます。
REFRESH 句 この句は、テキスト・インデックスの再表示タイプを指定するときに使用します。REFRESH 句を指定しない場合、デフォルトとして IMMEDIATE REFRESH が使用されます。次に、指定できる再表示タイプを示します。
IMMEDIATE REFRESH IMMEDIATE REFRESH は、基本となるテーブルの変更によってテキスト・インデックスのデータが影響を受けるたびにテキスト・インデックスを再表示する場合に指定します。
AUTO REFRESH この句は、内部サーバ・イベントを使用して自動的にマテリアライズド・ビューをリフレッシュするときに使用します。EVERY 句は、再表示間隔を分または時間単位で指定するときに使用します。間隔情報を指定しないで AUTO REFRESH を指定した場合、データベース・サーバは 60 分ごとにテキスト・インデックスを再表示します。sa_text_index_stats システム・プロシージャから返された pending_size value が、最後の再表示時にテキスト・インデックス・サイズの 20% を超えると、AUTO REFRESH 句で指定された時間の前にテキスト・インデックスが再表示される場合があります。1 分ごとに内部イベントが実行され、AUTO REFRESH の全テキスト・インデックスに対してこの条件がチェックされます。
MANUAL REFRESH この句は、テキスト・インデックスが手動で再表示されるように指定するときに使用します。
再表示タイプの詳細については、テキスト・インデックスの再表示タイプを参照してください。
テキスト・インデックスは、ビュー、マテリアライズド・ビュー、またはテンポラリ・テーブルには作成できません。
IMMEDIATE REFRESH のテキスト・インデックスは、作成時に移植され、この初期再表示中に、テーブルに排他ロックがかけられます。IMMEDIATE REFRESH のテキスト・インデックスは、スナップショット・アイソレーションを使用するクエリを完全にサポートします。
MANUAL と AUTO REFRESH のテキスト・インデックスは、作成後に初期化 (再表示) されます。
AUTO REFRESH のテキスト・インデックスの再表示では、独立性レベル 0 を使用してテーブルがスキャンされます。isolation_level オプション [データベース] [互換性]を参照してください。
テキスト・インデックスの作成後に、その定義を IMMEDIATE REFRESH に変更したり、IMMEDIATE REFRESH から変更したりできません。いずれかの変更が必要な場合は、テキスト・インデックスを削除して再度作成する必要があります。
REFRESH TEXT INDEX 文を使用して、AUTO REFRESH テキスト・インデックスを手動で再表示することを選択できます。REFRESH TEXT INDEX 文を参照してください。
テキスト・インデックスとそれらが参照するテキスト設定オブジェクトを表示する方法については、データベースのテキスト・インデックスの表示を参照してください。
基本となるテーブルの所有者であるか、DBA 権限または REFERENCES パーミッションが必要です。
文またはトランザクションのスナップショットを使用する、WITH HOLD 句を使用して開かれたカーソルがある場合、この文は実行できません。スナップショット・アイソレーションを参照してください。
オートコミット。
SQL/2003 ベンダ拡張。
次の例は、デモ・データベースの MarketingInformation テーブルの Description カラムについてテキスト・インデックス myTxtIdx を作成します。MarketingTextConfig テキスト設定オブジェクトが使用され、再表示間隔は 24 時間ごとに設定されます。
CREATE TEXT INDEX myTxtIdx ON MarketingInformation ( Description ) CONFIGURATION MarketingTextConfig AUTO REFRESH EVERY 24 HOURS; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |