CData Provider for Salesforce でキャッシュを活用してレポートを高速化



CData ADO.NET Provider for Salesforce は、ネットワーク経由でコマンドを実行する際の遅延を回避したり、オフライン機能を持つアプリケーションを作成したり、特定の SQL 方言を使用したりするためのキャッシュ機能を備えています。キャッシュはアプリケーションに対して透過的に動作します。この記事では、キャッシュの一般的なユースケースの1つである、大規模なデータセットでもキャッシュから高速にレポートを取得する方法として、自動キャッシュ機能を有効にする手順を説明します。

キャッシュの作成

ローカルキャッシュに対してクエリを実行することで、ネットワークの読み込み時間を短縮できます。自動キャッシュ機能を使用すると、コストの高いクエリをローカルキャッシュに対して実行しながら、常に最新のデータでレポートを作成できます。自動キャッシュを有効にすると、すべてのクエリがデータソースに対して実行され、さらに SELECT クエリではキャッシュの作成と更新も行われます。以下の構文を使用して、明示的にキャッシュに対してクエリを実行することもできます:

SELECT * FROM Account#CACHE

自動キャッシュ機能を有効にするには、接続文字列の Auto Cache プロパティを True に設定して接続を開きます。キャッシュを作成してテーブルを保存するには、SELECT クエリを実行します。以下のコード例では、接続してキャッシュを作成する方法を示しています。

string connectionString = "User=test;Password=test;AccessToken=x12345";
"Auto Cache=true;";
using(SalesforceConnection conn = new SalesforceConnection(connectionString)){
  SalesforceDataAdapter dataAdapter = new SalesforceDataAdapter("Select * From Account", conn);
  DataTable table = new DataTable();
  dataAdapter.Fill(table);
}

キャッシュ戦略の実装

サンプルアプリケーションをダウンロードして、この記事のコード例を使用した完全なアプリケーションの作成方法をご確認ください。付属のサンプルプロジェクトでは、効果的なキャッシュソリューションの基本コンポーネントを、現在の Salesforce データを表示するシンプルなアプリケーションに統合しています。