データベース・サイズと構造の管理
140 Sybase IQ
データベース・サイズと構造の管理
この項では、データベース設計を改善し、データを管理するための考え方につ
いて説明します。
データベース・サイズの管理
データベースのサイズは、作成するインデックスと格納するデータ量に大きく
依存します。ユーザが発行するクエリに必要とされるインデックスをすべて作
成することによって、クエリ処理を高速化できます。ただし、テーブルやイン
デックスが必要ない場合は、削除できます。削除することによって、ディスク
領域を解放し、ロードとバックアップの速度を向上させ、バックアップに必要
なアーカイブの記憶領域を小さくできます。
任意のテーブルに格納されたデータ量を制御するには、必要のないデータ・
ローを最適な方法で削除してください。Adaptive Server Anywhere データベー
スのデータがデータベースに含まれる場合は、Anywhere データの削除を実行
するだけで不要なデータを削除できます。コマンド構文は互換性があります。
Sybase IQ は、Transact-SQL と互換性があるため、Adaptive Server Enterprise デー
タベースのデータも同様に削除できます。
インデックスの断片化の制御
内部インデックスの断片化は、インデックス・ページが最大ボリュームまで使
用されていないときに発生します。
ローの断片化は、ローが削除されたときに発生することがあります。ページの
ロー全体を削除した場合、そのページは解放されますが、ページの一部のロー
が未使用の場合は、未使用領域がディスクに残ります。
テーブルに対する DML 操作 (INSERT、UPDATE、DELETE) によって、イン
デックスの断片化が発生します。断片化をレポートする 2 つのストアド・プロ
シージャがあります。
• sp_iqrowdensity は、デフォルト・インデックス・レベルでのローの断片化
をレポートします。「sp_iqrowdensity プロシージャ」 を参照してください。
• sp_iqindexfragmentation は、補助インデックス内の内部断片化をレポート
します。「sp_iqindexfragmentation プロシージャ」 を参照してください。
データベース管理者は、カラムのデフォルト・インデックスを補助する別のイ
ンデックスを作成することがあります。テーブルからローが削除されると、こ
れらのインデックスが必要以上の領域を使用する場合があります。
どちらのプロシージャも対応策は示しません。データベース管理者は、レポー
トされた情報を調べて、インデックスの再作成、再編成、再構築などの対応策
をとるかどうかを判断する必要があります。