0

約 300 万行の大きな結果セット (ADODB レコード セット) をデータ テーブルにロードしています。結果セットをデータテーブルにロードするのにも時間がかかりすぎます。結果セットの一部のみを抽出して DataTable にロードする方法を知りたいです。または、データ テーブルにロードしてから読み取る代わりに、レコードセットを直接読み取る方法はありますか?

これは、DataTable を埋めるために使用するコードです -

OleDbDataAdapter oleDA = new OleDbDataAdapter();
DataTable dt = new DataTable();
oleDA.Fill(dt, myADODBRecordset);
4

2 に答える 2

0

考慮すべきいくつかのオプションを次に示します。

  1. 本当に必要な行と列だけを取得します。

  2. いくつかのデータを取得し、ユーザーが必要なときに次の行のセットを要求できるようにします。

  3. 最適化された SQL クエリを作成する

  4. 他のリスト型オブジェクトよりも多くのメタデータ情報が含まれているため、必要がない限り DataTable を使用しないでください。

  5. マネージド .NET プロバイダーの使用を検討してください。

于 2013-11-12T01:08:56.950 に答える