2012-06-12 3 views
1

재생 시스템을 사용하여 분석 시스템을 작성하면서 (학습 경험) 놀고 있습니다. 프레임 워크 (2) (자바),모든 웹 페이지보기 (분석)에 대한 데이터베이스 항목

내가 효율적인 코드를 작성하고 싶은이 때문에 나는 다음을 결정하기 위해 고군분투 : 페이지가 도착 볼 때마다 들어

는 지정, 추가되는 기록이다 웹 사이트 (example.org), 페이지 (/index.html) 및 열람 한 날짜. 추측 할 수 있듯이 행의 양은 엄청나게 큽니다. 데이터를 사용하려면 웹 사이트가 "example.org"인 모든 행을 선택하고 결과를 반복하여 날짜와 몇 개의보기가 포함 된 해시지도를 작성한 다음이 날짜를 사용하여 그래프를 작성합니다 .

은보기 당 행을 갖는 것은 기록에 대한 하나 개의보기를 추가하는 기존의 레코드를 업데이트하는 것이 좋습니다 것보다는 예를 들어

,이 일을 더 나은 방법이 있어야합니다.

도움을 주시면 감사하겠습니다.

답변

0

당신은 그냥 (날짜와 같은) 좀 더 조건을 추가 할 수 있습니다 감사 당신의 절은, 당신이 결과를 통해 카운트를 수행 할 수 있습니다. 이렇게하면 데이터베이스의 결과를 직접 얻을 수 있습니다.

SELECT COUNT(*) 
FROM YOUR_TABLE 
WHERE SITE = 'thesite' 
     AND DATE = '<date>' 
GROUP BY SITE, DATE 
+0

당신의 말은 (그래프의 각 날짜에 대해) 날짜가 20100124이고 사이트가 example.org 인 곳을 선택하고 결과를 계산하여 각 사이트에 대해 반환합니다. 위대한 소리, 나는 주어진 날짜의 매일에 대한 쿼리를 SQL 서버에 넣어 많은 부하가 될 것이지만 조회 수있는 최대 날짜 범위를 제한하고 싶습니다. 사이트는 = 사이트에서 'thesite' 그룹이 – WookooUK

+0

그런 다음 당신은 쿼리를 결합 할 수 있습니다 페이지 뷰에서 나는 회신의 첫 부분에서 언급 한 것처럼 시스템 로그 처리 및 아파치 서버 상태 페이지 추적과 같은 '내부 모니터링'을 조사 할 생각이다. 나는 당신의 대답의 두 번째 부분이 내 머리 위로 날아 갔다는 것을 인정해야하지만 나는 당신이 말한 것에 대해 읽고있다. 그래서 나는 그것을 더 잘 이해한다. 응답 해 주셔서 다시 한 번 감사드립니다. – dounyy

0

가이 일을 더 나은 방법이 있어야합니다,

웹 서버 로그 HTML 요청을 : 같은

쿼리 보일 것이다. 대부분의 분석 시스템은 웹 서버 로그를 사용합니다.

당신이 배우기 위해 이것을하고 있다고 언급 했으므로 가능한 가장 유연한 방법으로 통계를 수집하고 있습니다.

내 유일한 제안은 웹 응용 프로그램이 쓰고있는 통계 테이블에서 모든 색인을 제거하는 것입니다. 통계를 생성하기위한 통계표 사본을 만드십시오. 사본에는 필요한 모든 색인이 있습니다.

이렇게하면 업데이트 할 색인이 없으므로 가장 빨리 쓰게됩니다.

필수 인 경우 쓰기 테이블에 1 차 인덱스 또는 클러스터링 인덱스를 가질 수 있습니다.

+0

전화의 나의 첫번째 포인트는 APON을 처리 절단하는 데이터를 전송하는 자바 스크립트 구글 스타일을하는 것입니다 YOUR_TABLE 로부터 SELECT DATE, COUNT (*) : – WookooUK

관련 문제