Data.SqlExpr.TCustomSQLDataSet.GetMetadata

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

Delphi

property GetMetadata: Boolean read FGetMetadata write FGetMetadata default True;

C++

__property bool GetMetadata = {read=FGetMetadata, write=FGetMetadata, default=1};

プロパティ

種類 可視性 ソース ユニット
property published
Data.SqlExpr.pas
Data.SqlExpr.hpp
Data.SqlExpr TCustomSQLDataSet


説明

SQL データセットが、データと共にメタデータ情報をフェッチするかどうかを示します。

GetMetadata を使用すると、データベース オブジェクトに関するメタデータのフェッチの、オン/オフを切り替えることができます。 GetMetadata を False に設定すると、インデックス情報取得のための追加 SQL が実行されないため、パフォーマンスが向上します。 しかし、GetMetadata を False に設定すると、データセット プロバイダを介してリンク付けされているクライアント データセットを使用してデータを更新する場合に、遅くなる場合があります。これは、リゾルバが、更新を実行するために最適化された SQL を生成できないためです。

GetMetadata は、インデックスを必要とするオペレーションを実行する場合には、True にしておなければなりません。 これらのオペレーションには、マスタ/詳細関係の設定、クライアント データセットからのデータの更新(プロバイダの UpdateMode が upWhereAll ではない場合)、Blob データの遅延フェッチなどが挙げられます。 集計関数または GROUP BY 句、もしくはそれら両方を同時に保有する SQL クエリの場合にも、True にしなければなりません。

読み取り専用でデータセットをフェッチする場合には、GetMetadataFalse に設定します。

メモ: iOS IBLite コード スニペット で、TSqlQuery の GetMetadataFalse に設定されています。これは、データセットのオープン時に開始されるトランザクションの数を減らすためです。

関連項目