그래서 ... 난 세 개의 테이블이있는 데이터베이스가 가정 :
표 고객
표 데이터
표 clients_to_data을
MySQL의 성능 - "중복"대 속도/시스템 성능
그리고 클라이언트가 테이블 데이터의 데이터에 액세스 할 수 있도록하는 API가 있습니다. 모든 클라이언트는 표, 내가 표에 로그인하고있는 무슨에 액세스하는 사람들 로그인하려면 (IP ADRESS 등과 같은 것들로) 고객을 기록을 가지고 테이블 고객, 테이블 데이터를 ID를 포함 clients_to_data (타임 스탬프)
사용자가 내 API에 액세스 할 때마다 그는 clients_to_data 테이블에 로그인합니다. (따라서 클라이언트에 및 데이터의 레코드는 업데이트되지 않고 그냥 읽습니다.)
또한 클라이언트 당 히트의 양을 얻을 수 있기를 원합니다. 꽤 쉽습니다. clients_to_data 테이블에 client_id를 쿼리하고 결과를 계산하면됩니다. 그러나 DB가 커질수록 clients_to_data 테이블에 수십억 개의 레코드가 생깁니다. 그리고 여기 내 질문 :
이 더 나은 연습 그래서이 될 것이라고 표에 필드 "히트"를 추가 클라이언트 해당 사용자의 안타의 양을 저장을하고 그것을 사용자가 API
를 조회 할 때마다 증가하는 것입니다 내가 일반적으로 들었던 DB에 redundancy
을 추가하는 것은 나쁜 일이다. 그러나이 경우에는 조회수를 검색하는 프로세스가 빨라질 것이라고 생각합니다.
이 경우 어떤 방법이 더 빠르고 더 빠릅니까? 당신의 도움을 주셔서 감사합니다!
@tony : 내 대답에 대해 설명해 주시겠습니까? 그것은 좋은 접근입니까? – beck03076