2009-10-13 2 views
0

Java에서 타이머 작업을 사용하여 매 1 분마다 저장 프로 시저를 사용하여 appcapacity를 한 테이블에 삽입합니다. 나는 관리 측에서 두 개의 열 값 (TIME, FILESIZE)이 x와 y라고 말하는 차트로 그 테이블을 모니터링하고있다. 즉. 클라이언트 측에서 Google 시각화 API를 사용하여하나의 테이블이 영향을받는 경우 클라이언트 측에서 요청을 보내는 방법

테이블 : appcapacity

TIME     FILESIZE 

19:25:28    1.91015625 KB 
19:39:10    4.400390625 KB 

.       . 
.       . 
.       . 

내가 뭘해야 할 것은 내가 행이 해당 테이블에 삽입 얻는 경우에 관리자 패널에 새 값이 차트를 업데이트해야합니다. 내 질문 :

클라이언트 측에서 요청을 보내면 해당 테이블에서 새 행이 삽입 될 때만 해당 테이블에서 데이터를 가져올 수 있습니까?

답변

1

간단한 JavaScript를 사용하여 매분 1 회 차트를 다시로드하기 만하면됩니다.

comet 접근 방식을 사용하여 새 값을 클라이언트에 푸시 할 수도 있습니다. 하지만 이것은 오버 헤드가되는 것 같습니다. 특히 서버 측에서 폴링을 사용하는 한 특히 그렇습니다.

0

당신은

SELECT MAX(TIME) FROM table 

를 실행할 수 있고 당신이 그것을 마지막으로 실행에 그 결과를 비교합니다. 결과가 변경 될 때만 모든 테이블 데이터를 가져옵니다.

이 기능을 사용하려면 TIME 열에 인덱스가 필요하므로 위의 쿼리가 매우 빠르게 실행됩니다.

관련 문제