Тайм-аут MySQL odbc от R

Я использую R для чтения некоторых данных из базы данных MySQL с помощью пакета RODBC. Затем данные обрабатываются, и некоторые результаты отправляются обратно в базу данных. Проблема в том, что сервер закрывает соединение примерно через минуту из-за бездействия, что является временем, необходимым для локальной обработки данных. Это общий сервер, поэтому хост не будет увеличивать время ожидания.

Я думаю, что есть две возможности обойти это: 1) открывать соединение перед каждой транзакцией базы данных и закрывать его сразу после 2) отправлять небольшую команду «ping» на сервер каждые 30 секунд или около того, чтобы сообщить серверу, что я все еще там.

Я могу довольно легко реализовать первое, но постоянное открытие и закрытие соединений кажется довольно медленным. Кто-нибудь знает эффективную команду для второго? Или лучше вообще?


person stotastic    schedule 03.08.2010    source источник


Ответы (1)


Я предпочитаю первое решение. Последнее действительно трудно сделать с помощью однопоточной программы, такой как R. Если R занят выполнением анализа, у него нет возможности обработать эхо-запрос. Если вы не выполняете сотни операций чтения/записи, метод открытия и закрытия соединения не должен создавать чрезмерных накладных расходов.

person JD Long    schedule 04.08.2010
comment
В конце концов я выбрал № 1, есть большое количество операций чтения / записи, но я думаю, что это то, что есть. - person stotastic; 05.08.2010