どうすれば最速のパフォーマンスを得ることができますか? 私はいつも手順で計算するよりも、クライアント アプリケーションで計算を使用します。評価する約10,000行のテーブルを取得しました。データベースはホスティング Web サーバーにあり、すべての行を読み取り、アプリケーションのデータグリッドに表示しています。
したがって、「ProductPrice」列と「ProductQty」列を読み取る途中で、ProductPrice * Qty を計算し、ストリーミングするデータが少ないことを考慮して、アプリケーション内の別の列に格納できます。
次のうちどれがより速いでしょうか?
SqlCommand sqlCmdTxt = new SqlCommand(conn);
SqlDataReader sqlRead;
sqlCmdTxt.commandText = "Select ProductPrice, ProductQty, ProductPrice * ProductQty As Total From Stock";
sqlRead = sqlCmdTxt.ExecuteReader();
while (
sqlRead.Read()) {
double price = sqlRead.GetDouble(0);
double qty = sqlRead.GetDouble(1);
double sum = price * qty;
dataGridView.rows.add (new object[] {price, qty, sum});
}
また
SqlCommand sqlCmdTxt = new SqlCommand(conn);
DataSet dSet = new DataSet();
new SqlDataAdapter(new SqlCommand("Select ProductPrice, ProductQty, ProductPrice * ProductQty As Total From Stock"
, conn)).Fill(dSet, "StockList");
dataGridView.DataSource = dSet.Tables["StockList"].DefaultView;