2010-08-03 3 views
5

RODBC 패키지를 사용하여 MySQL 데이터베이스의 일부 데이터를 읽으려면 R을 사용하고 있습니다. 그런 다음 데이터가 처리되고 일부 결과가 다시 데이터베이스로 전송됩니다. 문제는 데이터를 로컬에서 처리하는 데 필요한 시간 인 비활성으로 인해 약 1 분 후에 서버가 연결을 닫는 것입니다. 그것의 공유 서버, 그래서 호스트가 시간 초과 시간을 범프하지 않습니다.MySQL ODBC timeout from R

나는이 매 30 초)이 1 주위에 얻을 모든 데이터베이스 트랜잭션 전에 연결을 열고 2 후 즉시 닫습니다) 서버에 몇 가지 작은 '핑'명령을 전송하는 두 가지 가능성이있다거나 그렇게하자 생각 서버는 내가 아직 거기 있다는 것을 압니다.

나는 처음에는 쉽게 구현할 수 있지만, 끊임없이 연결을 열고 닫는 것은 꽤 느립니다. 누구든지 효율적인 두 번째 명령을 알고 있습니까? 아니면 더 좋은 방법일까요?

답변

4

첫 번째 해결책은 내가 선호하는 해결책입니다. R과 같은 단일 스레드 프로그램으로 후자를 수행하는 것은 정말로 어렵습니다. R이 실행중인 분석을 수행중인 경우 핑을 처리 할 수있는 방법이 없습니다. 수백 개의 읽기/쓰기 작업을 수행하지 않는 한, 연결을 열고 닫는 방법으로 인해 엄청난 오버 헤드가 발생하지 않습니다.

+0

나는 마침내 # 1과 함께 갔다. 많은 수의 읽기/쓰기가 있었지만 '그것이 무엇인지' – stotastic