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

SQL Anywhere 11.0.1 (日本語) » Ultra Light データベース管理とリファレンス » Ultra Light データベースの使用 » Ultra Light のパフォーマンスと最適化

 

インデックス・スキャンの使用

インデックスとは、1 つ以上のテーブル・カラムに含まれているデータ値の順序に基づく、テーブル内のローのポインタ・セットです。インデックスは、データベース・オブジェクトです。インデックスが作成されると、Ultra Light によって自動的に保持されます。1 つ以上のインデックスを作成すると、クエリのパフォーマンスが向上します。インデックスのタイプによっては、ローの値がユニークであることを保証できます。

インデックスは、一部またはすべてのカラムの値を基に、テーブルのローに順序を付けます。インデックスを作成する場合、インデックス付けするカラムを指定する順序が、インデックスでカラムが実際に出現する順序になります。したがって、インデックスを計画的に使用すると、それによってインデックス・カラムの検索パフォーマンスが大幅に向上します。

Ultra Light では、次のインデックスをサポートしています。インデックスは、シングルカラムとマルチカラム (複合インデックス) が可能です。LONG VARCHAR カラムや LONG BINARY カラムをインデックス付けすることはできません。

インデックス 特性
プライマリ・キー 必須。ユニーク・キーのインスタンスです。プライマリ・キーは 1 つだけ持つことができます。インデックス付けされたカラムの値はユニークである必要があります。NULL は不可です。
外部キー1 省略可。インデックス付けされたカラムの値は重複していてかまいません。NULL 入力可かどうかは、NULL を許可するようにカラムが作成されたかどうかで決まります。外部キー・カラムの値は、参照されているテーブルに存在している必要があります。
ユニーク・キー2 省略可。インデックス付けされたカラムの値はユニークである必要があります。NULL は不可です。
ユニークでないインデックス 省略可。インデックス付けされたカラムの値は重複していてかまいません。NULL を指定できます。
ユニーク・インデックス 省略可。インデックス付けされたカラムの値が重複していてはいけません。NULL を指定できます。

1 外部キーは、プライマリ・キーまたはユニーク・キーを参照できます。

2 一意性制約と同じです。

パフォーマンスに関するヒント
  • 次のようなカラムにインデックスを作成してください。

    • 定期的に検索する値
    • クエリでテーブルのジョインに使用するカラム
    • ORDER BY 句、GROUP BY 句、または WHERE 句で頻繁に使用するカラム
  • 複合インデックスを作成する場合、インデックスの最初のカラムは、クエリの述部で最も頻繁に使用されるカラムにしてください。

  • インデックスにより生じる更新管理オーバヘッドがデバイスのメモリに負荷をかけすぎていないことを確認してください。

  • 不要なインデックスを作成または保持しないでください。インデックスは、カラムのデータが変更されたときに更新する必要があります。したがって、挿入、更新、削除の各操作はインデックスにも実行されます。

  • 大規模なテーブルでインデックスを作成してください。

  • 冗長なインデックスは作成しないでください。たとえば、カラム (x、y) に対するインデックスをテーブル T に作成した場合に、カラム (x、y、z) に対する別の既存インデックスが T にあると、冗長的になります。

参照