Witam.
Mam taką metodę:
private void PresentData()
{
log.stopwatch.Start();
log.add("DataSet dataSet = null;");
DataSet dataSet = null;
log.add("dataSet = msSQL.pobierzListeDokumentow(dtpDateFrom.Value, dtpDateTo.Value);");
dataSet = msSQL.pobierzListeDokumentow(dtpDateFrom.Value, dtpDateTo.Value);
log.add(" dataGridView1.DataSource = dataSet.Tables[0];");
dataGridView1.DataSource = dataSet.Tables[0];
log.add("END");
}
Klasa log:
public static class log
{
public static Stopwatch stopwatch = new Stopwatch();
public static List<String> events = new List<string>();
public static void add(string x)
{
events.Add(log.stopwatch.Elapsed.ToString() + "\tStep " + x);
}
}
Zapis w logu wygląda następująco:
0000.0001324 Step DataSet dataSet = null
0000.0001645 Step dataSet = msSQL.pobierzListeDokumentow(dtpDateFrom.Value, dtpDateTo.Value)
0000.0177362 Step dataGridView1.DataSource = dataSet.Tables[0]
0033.5494874 Step END
Jak widać czas wczytania DataSet
do dataGridView1.DataSource
zajmuje aż 5 minut przy czym zawartość `table[0]' to 21 kolumn na 1395 wierszy, więc niewiele.
Z czego może wynikać tak długi czas?
Sprawdzałem z VirtualMode ale to nic nie dało.