Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

クラス定義でのインデックスの構文

インデックス定義の構造を説明します。インデックス定義に関する一般情報へのリンクは、“インデックス定義” を参照してください。

概要

インデックスとは、永続クラスで管理される構造のことです。永続クラスは、クエリおよびその他の関数の最適化に使用することが意図されています。これらのインデックスは、オブジェクトベースの操作と同様、データベースに対して SQL ベースの INSERT、UPDATE、DELETE 演算が実行された場合にも、自動的に維持されます。SQL クエリ・プロセッサは、SQL クエリを作成、実行するときに、利用可能なインデックスを活用します。

インデックス定義は永続クラスに追加できます。他のクラスでは意味がありません。

詳細

インデックス定義の構造は以下のとおりです。

/// description 
Index name On property_expression_list [ keyword_list ];

以下は、この指定の説明です。

  • description (オプション) は、クラス・リファレンスでの表示を意図しています。description は既定ではブランクです。 "クラスの定義と使用" の “クラス・ドキュメントの作成” を参照してください。

  • name (必須) はインデックスの名前です。名前はプロパティの名前付け規約に従い、このクラスまたはテーブル内で一意である必要があります。

    この名前は、(レポート、インデックス構築、インデックス削除など) データベース管理に使用します。プロパティの名前付け規約については、"サーバ側プログラミングの入門ガイド" の “クラス・メンバ” を参照してください。クラス定義のインデックス名と対応する SQL インデックス名との関係は、"InterSystems SQL リファレンス" の “CREATE INDEX” を参照してください。

  • property_expression_list (必須) は、インデックスが基づくプロパティ (複数可) を指定します。さらにこれには各プロパティの照合仕様を含めることもできます。このオプションは、単一のプロパティ式、または括弧で囲んだ複数のプロパティ式のコンマ区切りリストのいずれかにします。

    特定のプロパティ式の構成要素は以下のとおりです。

    • インデックスの作成対象のプロパティの名前。

    • オプションの (ELEMENTS) 式または (KEYS) 式。これは、コレクションのサブ値に対するインデックス作成手段となります。

    • オプションの照合式。

    詳細は、"高性能スキーマの定義" の “インデックスの定義と作成” を参照してください。

  • keyword_list (オプション) は、インデックスを詳しく定義したキーワードのコンマ区切りリストです。

    すべてのキーワードは、“インデックスの構文とキーワード” を参照してください。

    このリストを省略する場合は角括弧も省略します。

例えば、以下のクラス定義は、2 つのプロパティとそれぞれのプロパティに基づくインデックスを定義しています。

Class MyApp.Student Extends %Persistent 
{

Property Name As %String;

Property GPA As %Double;

Index NameIDX On Name;

Index GPAIDX On GPA;
}

関連項目

  • "高性能スキーマの定義" の “インデックスの定義と作成

  • "サーバ側プログラミングの入門ガイド" の “一般的なシステム制限” の “クラスの制限

FeedbackOpens in a new tab