API:FireDAC.Phys.MongoDBDataSet.TFDMongoPipeline.Indexes

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property Indexes: TFDIndexes read FIndexes write SetIndexes stored IsIS;

C++

__property Indexes;

プロパティ

種類 可視性 ソース ユニット
property published
FireDAC.Phys.MongoDBDataSet.pas
FireDAC.Phys.MongoDBDataSet.hpp
FireDAC.Phys.MongoDBDataSet TFDMongoPipeline

説明

データセットに適用されるすべてのクライアント インデックスのリストです。

FireDAC.Phys.MongoDBDataSet.TFDMongoPipeline.Indexes は FireDAC.Comp.DataSet.TFDDataSet.Indexes を継承しています。以下の内容はすべて FireDAC.Comp.DataSet.TFDDataSet.Indexes を参照しています。


データセットに適用されるすべてのクライアント インデックスのリストです。


Indexes を使用すると、データセット レコードに対するクライアント側のデータ ビューを定義できます。IndexesTFDIndex オブジェクトのコレクションで、そのそれぞれが以下(任意)を定義しています。

個々のインデックスは単なるソートおよびフィルタ定義ではありません。FireDAC では、アプリケーションでデータが取得または編集される間、アクティブなインデックスごとにデータに対する一貫したビューを維持します。その結果、オーバーヘッドは増えますが、インデックスの切り替えをすぐに行えるようになります。

ビューを現在のビューにするには、ビューの Selected プロパティを True に設定するか、データセットの IndexName プロパティをビュー名に設定します。

メモ: ビューが維持されるには、その Active プロパティが True に設定されている必要があります。

データセットでは、IndexesActiveTrue の場合に、Indexes のビューを維持します。アプリケーションでデータセットへのバッチ更新を行う必要がある場合は、更新の前に IndexesActiveFalse に設定し、更新の後で元の値に戻します。BeginBatch メソッドおよび EndBatch メソッドも参照してください。

IndexFieldNames を設定しても、TFDIndex オブジェクトは Indexes コレクションに追加されません。データセットを開く前に IndexDefs を定義すると、Indexes がクリアされ、そこに IndexDefs の情報が入力されます。そのため、取り得る方法としては 2 つの選択肢があります。つまり、IndexDefs を使用するか、Indexes を使用するかです。Indexes の方が柔軟性が高いので、こちらを使用することをお勧めします。

LocateLocateExLookupLookupExSetRange などの一部のナビゲーション メソッドでは、インデックスを使用して操作を最適化しています。

Indexes におけるソート式およびフィルタ式では、式の拡張構文をサポートしています。

 with FDMemTable1.Indexes.Add do begin
   Name := 'by_name';
   Fields := 'NAME;DT';
   Active := True;
 end;
 with FDMemTable1.Indexes.Add do begin
   Name := 'by_payments';
   Expression := 'sum(sal + bonus)';
   Filter := 'dep_id is not null;
   Active := True;
 end;
 FDMemTable1.IndexesActive := True;
 FDMemTable1.IndexName := 'by_name';

関連項目