Следующий базовый код занимает около 35 секунд, чтобы завершить dt.load(reader)
.База данных представляет собой базу данных MS Access .mdb, содержащую около 210 «столбцов» и, возможно, 37 строк.
Я видел много блогов и постов на эту тему, где "он медленный", "есть другой способ" и т. Д. И т. Д. Это всего 200 строк или около того ... может быть, 1 сек максимум, верно?
string connectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=" + file;
_conn = new OdbcConnection(connectionString);
string sql = "select * from fields";
OdbcCommand command = new OdbcCommand(sql, _conn);
OdbcDataReader reader = command.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(reader); // 30+ seconds to complete
foreach (DataRow row in dt.Rows)
{
...
Также попробовал следующее ... та же 35 секундная задержка при Fill()
OdbcDataAdapter adapter = new OdbcDataAdapter();
DataSet ds = new DataSet();
ds.Clear();
adapter.SelectCommand = command;
adapter.Fill(ds);