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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベース・パフォーマンスのモニタリングと改善 » アプリケーション・プロファイリングのチュートリアル » チュートリアル:テーブルの断片化の診断

 

レッスン 1:テーブルの断片化の設定

このチュートリアルは、テスト・データベースが作成されていることを前提としています。テスト・データベースを作成していない場合は、レッスン 1:テスト・データベースの作成を参照してください。

ヒント

このチュートリアルの SQL 文をコピーして Interactive SQL にペーストできます。

♦  テーブルの断片化を設定するには、次の手順に従います。
  1. Sybase Central を起動し、ユーザ ID に DBA、パスワードに sql を使用してテスト・データベース app_profiling.db に接続します。

    Sybase Central の起動とデータベースへの接続の操作に慣れていない場合は、ローカル・データベースへの接続を参照してください。

  2. 左ウィンドウ枠で、app_profiling - DBA を選択し、[ファイル] - [Interactive SQL を開く] を選択します。

    Interactive SQL が起動し、app_profiling - DBA データベースに接続します。

  3. Interactive SQL で、次の SQL 文を実行し、テーブルの断片化を発生させます。

    1. テーブルを作成します。

      CREATE TABLE "DBA"."tablefrag" (
      "id" UNSIGNED BIGINT NOT NULL DEFAULT AUTOINCREMENT, 
      "val1" LONG VARCHAR NULL, 
      "val2" LONG VARCHAR NULL, 
      "val3" LONG VARCHAR NULL, 
      "val4" LONG VARCHAR NULL, 
      "val5" LONG VARCHAR NULL, 
      "val6" LONG VARCHAR NULL, 
      "val7" LONG VARCHAR NULL, 
      "val8" LONG VARCHAR NULL, 
      "val9" LONG VARCHAR NULL, 
      "val10" LONG VARCHAR NULL,
      PRIMARY KEY ( id ) );
    2. テーブルに値を挿入するプロシージャを作成します。

      CREATE PROCEDURE "DBA"."proc_tablefrag"( ) 
         BEGIN 
            DECLARE I INTEGER; 
            SET I = 0; 
            WHILE I < 1000 
               LOOP 
                  INSERT INTO "DBA"."tablefrag" ( "val1" ) 
                  VALUES('a'); 
                  SET I = I + 1; 
               END LOOP; 
         END;
    3. 値を挿入します。

      CALL proc_tablefrag( );
    4. テーブル内の値を更新します。

      UPDATE "DBA"."tablefrag" 
      SET "val1" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val2" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val3" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val4" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val5" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val6" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val7" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val8" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val9" = 'abcdefghijklmnopqrstuvwxyz0123456789', 
          "val10" = 'abcdefghijklmnopqrstuvwxyz0123456789';
    5. データベースに加えた変更をコミットします。

      COMMIT;
  4. Interactive SQL を終了します。