Я знаю, что у DataAdapters есть проблемы с производительностью, но есть ли способы обойти это быстрее?На данный момент метод DataAdapter.Fill занимает 5-6 секунд на 3000 записей, что слишком медленно для моего приложения.Если я удаляю строку Fill
и просто выполняю SQL (используя SQLCE), это займет 20 миллисекунд, поэтому я предполагаю, что запрос не является проблемой.Я попытался добавить BeginLoadData
в таблицу данных, но это никак не повлияет на производительность.
using (SqlCeConnection con = new SqlCeConnection(conString))
{
con.Open();
using (SqlCeDataAdapter dAdapter= new SqlCeDataAdapter())
{
using (SqlCeCommand com = new SqlCeCommand(query, con))
{
com.Parameters.Add("uname", textBox1.Text);
dAdapter.SelectCommand = com;
dAdapter.SelectCommand.Connection = con;
DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dataGridView1.DataSource = dTable;
}
}
}
Есть ли лучшие способы заполнить DataGridView или ускорить метод Fill
?