페이지 추적기 데이터베이스 테이블을 디자인하고 싶지만 그 문제가 거의 없습니다. 내가 pageviews
및 pageVisits
특정 SessionID
에 해당하는 업데이트하면 웹 페이지 추적기를위한 데이터베이스 디자인
create table pageTracker(
ID bigint(20) NOT NULL,
TrackerID bigint(20) NOT NULL,
SessionID varchar(100) NOT NULL,
pageViews bigint,
pageVisits bigint,
primary key(ID)
);
나는 특정 시간 간격 내에
pageViews
및
pageVisits
를 쿼리 할 수 없습니다.
create table pageTracker(
ID bigint(20) NOT NULL,
TrackerID bigint(20) NOT NULL,
SessionID varchar(100) NOT NULL,
pageViews bigint,
pageVisits bigint,
time TimeStamp,
primary key(ID)
);
하지만 pageViews
하고 테이블에있는 항목의 큰 숫자를 만들어 특정 시간에 대한 새로운 항목으로 pageVisits
각을 삽입 할 경우 나는 여분의 열 시간을 추가합니다.
효율적인 방법이 있습니까?
나는 시간/일/주간을 기반으로 쿼리해야하며 쿼리는 pageTrackerHistory 테이블에 대해 많은 비용이 듭니다. –
타임 스탬프에서 세부 사항을 추출 할 수 있습니다 - (A) SELECT DAYOFMONTH ('1998-02-03'); (B) SELECT DAYOFWEEK ('1998-02-03'); - 감사 테이블에서 값 비싼 쿼리를 실행할 수 있으므로 성능에 영향을주지 않고 작업 테이블이 그대로 유지됩니다. –
거대한 데이터 입력에서 pageTracker 테이블을 구제하는 아이디어. 하지만 내가 daywise/weekly/month 기반 추적기 데이터를 쿼리 할 때 나는 쿼리 테이블을 가지고 있고 더 많은 시간이 걸릴 것이다. 그것은 더 효율적으로 히스토리 테이블을 검색 할 수 있는가? –