У меня есть таблица с несколькими тысячами строк, но даже если я пытаюсь прочитать 1000 строк (и 10 столбцов), для получения результата требуется около 10 секунд.Я думаю, что это слишком медленно, но я не могу найти никаких проблем.
Код для чтения данных:
string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;"", _excelFilename);
using (OleDbConnection c = new OleDbConnection(connectionString)) {
c.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Trend_Data$A1:J1000]", c);
OleDbDataReader dbReader = dbCommand.ExecuteReader();
while (dbReader.Read()) {
object[] values = new object[10];
dbReader.GetValues(values);
//save values into internal structure - fast
...
}
Пошагово просматривая код, я обнаружил, что вызов функции ExecuteReader занимает так много времени.
У вас есть идеи, как ускорить код?