我怎样才能获得最快的性能?我总是在客户端应用程序上使用计算而不是在程序中进行计算。我有一个大约 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;