我怎樣才能獲得最快的表現?我總是在客戶端應用程序上使用計算而不是在程序中進行計算我有一張約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;
你可以使用秒錶來評估它。爲什麼這樣? –
我想這不會有任何顯着的差異。然而,我寧願把計算成C#代碼 –
不,我發現這兩個20英尺的差異。所以,想想如果在500萬行的情況下......發生什麼事了? – Sayka