Как я могу получить максимальную производительность? Я всегда использую расчет в клиентском приложении, чем в процедурах. Я получил таблицу размером около 10 000 строк для оценки. База данных находится на веб-сервере хостинга, и я читал все строки и показывал в datagrid в своем приложении.Как я могу получить самую быструю работу на клиентской системе?
Таким образом, на моем пути, считывая столбцы «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# –
Нет, я нашел abt 20 секунд разницы btwn этих двух. Так что просто подумайте, если в случае 5 миллионов строк или что-то в этом роде. Что происходит? – Sayka