スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

付録A.5 表,及びインデクスに関する質問

<この項の構成>
(1) 既存のインデクスの定義を知るには?
(2) 既存のFIX表に列を追加するには?

(1) 既存のインデクスの定義を知るには?

質問
SQLでインデクスが定義されているかどうかが分かりますか?

お答えします
ディクショナリ表を検索すれば可能です。次に例を示します。
また,ディクショナリ搬出入ユティリティ(pdexpコマンド)の定義系SQLの生成機能でも確認できます。
(例1)
インデクスが付いた表を一覧検索します。
SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_ID
    FROM MASTER.SQL_TABLES WHERE N_INDEX >= 1
(例2)
定義した表のインデクス名,列名を表示します。
SELECT TABLE_SCHEMA,TABLE_NAME,INDEX_NAME,INDEX_ID,COLUMN_NAME
    FROM MASTER.SQL_INDEX_COLINF
        WHERE TABLE_SCHEMA = USER
(例3)
インデクスが付いた表の表名,表id,インデクス名,インデクスid,列名をまとめて表示します。
SELECT X.TABLE_SCHEMA,X.TABLE_NAME,X.TABLE_ID,
  INDEX_ID,COLUMN_NAME
    FROM MASTER.SQL_TABLES X,MASTER.SQL_INDEX_COLINF Y
        WHERE X.TABLE_SCHEMA = Y.TABLE_SCHEMA
             AND X.TABLE_SCHEMA = USER
             AND X.TABLE_NAME = Y.TABLE_NAME
             AND N_INDEX >= 1

(2) 既存のFIX表に列を追加するには?

質問
既にデータが格納されているFIX表に列を追加したいのですが,方法はありますか?

お答えします
あります。列の追加方法については,「13.6 列を追加する方法」を参照してください。