MySQL 테이블에서 페이지의 모든보기에 대한 로그를 유지해야하는 시스템에서 작업하고 있습니다. 방문자가 지난 24 시간 동안 이전에 해당 페이지를 방문하지 않은 경우에만보기가 기록됩니다. 이렇게하면 성능 및 데이터베이스 크기 측면에서 많은 문제가 될지 궁금하네요.모든 페이지보기에 데이터베이스 행 삽입
이 작업을 수행해야하는 사이트는 하루에 약 60,000 개의 고유 한 페이지 뷰를 평균적으로 가지므로 하루에 약 60,000 개의 새 행이 추가됩니다 (2 초마다 1 개 미만). 이 표는 i_id
, ip_address
, timestamp
의 3 열입니다. i_id
은 다른 테이블에 대한 외래 키입니다.
테이블은 CRON 스크립트를 사용하여 매일 끝날 때 지워집니다.
이렇게하면 데이터베이스에 즉각적인 부담이 있습니까? 예를 들어 사이트에서 트래픽이 급증하면 (매우 규칙적으로) 하루에 200,000 개 이상의 페이지 뷰를 기록 할 수 있습니다. 이는 초당 2 회의 쿼리를 의미합니다.
레코드 지우기의 요점은 그들은 보고서에 제출 될 것이고 이후에 그들에 대한 필요성은 없을 것입니다. – John
@ 존 : 귀하의 시스템이지만, 월, 연도, 시간을 합산하면 시스템에 더 많은 가치를 제공 할 수 있습니다. –
글쎄, 그건 내가 가정 한 시스템에 달려있다 : P 그러나이 경우 실제로 하루 후에 데이터를 보관할 필요가 없다. 감사! – John