У меня есть большая таблица, которая содержит около 100 миллионов записей в MySQL.
Я хочу прочитать все записи из него и обработать их в моей программе C # /. Net,
поэтому я написал такой код:
string sql = "SELECT * FROM the_table";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//...
}
Но после 3 минут работы возникает проблема тайм-аута.
Если я изменю оператор SQL на «limit»:
string sql = "SELECT * FROM the_table limit 60000000" //60 million
тогда все работает хорошо. (цикл while (rdr.Read())
занял около 3,8 минуты)
Был ли тайм-аут вызван слишком большим столом?
Что здесь происходит и как мне решить проблему?