2017-05-08 17 views
0

私は最小36000列、最小20000行のDataTableを持っています。私は、データテーブル内で見つけ出す必要のある列名のリストをハードコードし、各列の値を計算します。CでのDataTableの検索

例えば、私は私の計算を実行するために、列名とdatatable.compute方法を見つけることができるシンプルなのforeachを使用して考えていた特定の列

ためのすべての行の合計。

これを達成するより良い方法はありますか?どんな助けでも大歓迎です。

ありがとうございます。

私はその良いが、平行メソッドを使用するには、より高いパフォーマンスの.NET 4.6とVS2015

+10

36000列のサンプルですか? Wow – InBetween

+0

'36000'列と' 20000'行で正確に何をしますか? –

+0

はい、より良い方法は、巨大なDataTableよりも適切な記憶媒体を使用することです。 – Equalsk

答えて

0

を使用しています。

このリンクには、並列を使用するサンプルがあります。可能な限り、このリンクを使用することはとても良いことです。

this exampleには、速度をどれだけ向上させるかが分かります。

+0

しかし、あなたのために、あなたはこれを試しました –

+0

を呼び出す使用する必要があります並列または並列foreach内edite uiのパラメータを忘れないでください? –

0

Datatable.ComputeとForeachのパフォーマンスの違いを比較できます。以下は

// Datatable.Compute sample 
DataTable table; 
table = dataSet.Tables["Orders"]; 

// Declare an object variable. 
object sumObject; 
sumObject = table.Compute("Sum(Total)", "EmpID = 5"); 

foreachの

// Foreach through DataTable 
double sum = 0; 
dt = ds.Tables["Orders"]; 
foreach (DataRow dr in dt.Rows) 
{ 
    sum += System.Convert.ToDouble(dr["Total"]); 
} 
関連する問題