2016-04-12 2 views
0

У меня есть функция, которая извлекает данные с сервера mysql. Я делаю это с использованием таких формул:Соединение теряется при извлечении данных из базы данных

sql <- sprintf("SELECT * FROM `match_player` INNER JOIN `match` ON match_player.match_id=match.id") 
df_all <- dbGetQuery(con, sql) 

Все работает. Однако мне приходится выполнять вычисления над +/- 200.000 строк, и для каждой из строк я должен извлекать данные из базы данных. И после того, как +/- 100.000 записей я получаю сообщение об ошибке вызывает соединение потеряно:

Ошибка в .local (Conn, заявление, ...): не может запустить заявление: Потеряно соединение с сервером MySQL при запросе

Любые мысли о том, как я могу убедиться, что я не теряю связь

+0

попробуйте изменить wait_timeout и interactive_timeout в my.cnf на своем сервере и проверьте, действительно ли проблема в тайм-ауте. – JammuPapa

+0

Вы можете запросить куски [см. Страницу 9] (https://cran.r-project.org/web/packages/DBI/DBI.pdf) – zx8754

ответ

0

отложенной, но, возможно, полезно: Это выглядит как известный регресс в последние DBI и RMySQL версиях, возможно, Исправимые с понижением: https://github.com/rstats-db/RMySQL/issues/190

Смежные вопросы