SimpleDS.TInternalSQLDataSet.GetMetadata

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

Delphi

property GetMetadata: Boolean read FGetMetadata write FGetMetadata default 0;

C++

__property GetMetadata = {default=0};

プロパティ

種類 可視性 ソース ユニット
property published
SimpleDS.pas
SimpleDS.hpp
SimpleDS TInternalSQLDataSet

説明

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

SimpleDS.TInternalSQLDataSet.GetMetadata は Data.SqlExpr.TCustomSQLDataSet.GetMetadata を継承しています。以下の内容はすべて Data.SqlExpr.TCustomSQLDataSet.GetMetadata を参照しています。

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

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

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

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

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

関連項目