Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » パフォーマンスの向上、診断、モニタリング » アプリケーションプロファイリングのチュートリアル » チュートリアル:インデックスの断片化の診断

 

レッスン 2:Interactive SQL 文を使用したインデックスの断片化の識別と修正

Interactive SQL を使用して、インデックスの断片化を識別および修正します。運用データベースに断片化がないか定期的にチェックしてください。

前提条件

このレッスンでは、このチュートリアルの開始時に、権限のセクションで一覧されているロールと権限を持っていることを前提としています。 チュートリアル:インデックスの断片化の診断

このチュートリアルは、テストデータベース app_profiling.db が作成されていることを前提としています。チュートリアル:アプリケーションプロファイリングのチュートリアル用のテストデータベースの作成を参照してください。

ほかに app_profiling.db への接続がないことを確認します。

 ♦ タスク
  1. Interactive SQL を起動します。[スタート] » [プログラム] » [SQL Anywhere 16] » [管理ツール] » [Interactive SQL] をクリックします。

  2. [接続] ウィンドウで、テストデータベース app_profiling.db に接続するための情報を以下のフィールドに入力します。

    1. [ユーザ ID] フィールドに、DBA と入力します。

    2. [パスワード] フィールドに、sql と入力します。

    3. [アクション] ドロップダウンリストで、[このコンピュータのデータベースを起動して接続] をクリックします。

    4. [データベースファイル] フィールドに、C:\AppProfilingTutorial\app_profiling.db と入力します。

    5. [開始行] フィールドに、dbeng16 -x tcpip と入力します。

  3. [接続] をクリックします。

  4. Interactive SQL で、次の SQL 文を実行して、Employees テーブルのインデックス密度をテストします。

    CALL sa_index_density( 'Employees' );

    密度の値は 0 から 1 の範囲の値です。1 に近い値は、インデックスの断片化がほとんどないことを示しています。0.5 未満の値は、インデックスの断片化のレベルがパフォーマンスに影響を与える可能性があることを示しています。

    注意

    結果の Density カラムの値が 0.5 以下であるため、断片化の問題を示すために Employees のインデックスの値が表示されます。ただし、これらの数値が必要以上に低いのは、テーブルが非常に小さいためです。

  5. Interactive SQL で、次の ALTER INDEX...REBUILD 文を実行して、インデックスの密度を向上させます。

    ALTER INDEX PRIMARY KEY ON Employees REBUILD;
  6. Interactive SQL を閉じます。

結果

Interactive SQL を使用して、インデックスの断片化が識別され、修正されました。

 参照