내 블로그 유형 웹 사이트에 포인트 시스템이 있습니다. 여기에서 사용자는 다양한 방법으로 기여할 수 있습니다 (댓글 달기/게시물 투표/댓글 투표 등). MySQL 데이터베이스에서 사용자가 얻은 모든 포인트를 효율적으로 기록하는 방법은 무엇입니까?PHP/MySQL에 효율적인 포인트 로깅 시스템을 구성하는 방법
현재 내가 자신의 테이블에서 다음 필드를 가지고 생각 해요 :
post_id,
giving_user_id,
receiving_user_id,
type,
date_added
이제 내 사이트가 성장하고 내가 100 만 개 ... 억 ... 10 억 행이 분명히있는 경우, 이 접근 방식과 구조는 데이터 유형이 올바르게 설정되어 제공하면 영원히 실행하지 않고도 견딜 수 있습니까?
대부분 테이블에 삽입 할 예정이지만, stackoverflow 사용자 통계 페이지와 유사하게 앞으로 20 포인트 (예) 포인트를 보거나 차감 할 수 있기를 원합니다.
저에게 더 효율적인 구조가 더 있습니까? 네, 그것은 매우 기능에서 유래 같은 것
정보 업데이트]
는 한 사용자가 postid 당 하나의 투표를 가져옵니다. @Paul Gregory 다시 생각한 후에 receiving_user_id
은 거의 항상 게시물과 관련이 있으므로 훨씬 더 좋은 아이디어 일 수 있습니다.
아마도 도움이
희망 사용자가 다른 사람에게 줄 수있는 포인트를 축적 할 수 있도록 허용 할 것인가?) – symcbean
일부 액션의 경우'give_user_id'가 시스템입니다. 예를 들어 게시물을 작성하는 자동 1 포인트 및 기타 그것은 사용자인가? 'receiving_user_id'는 언제 post_id와 연결된 사용자와 다른가요? –
@Paul Gregory ive 님이 질문에 약간의 추가 정보를 추가했습니다. – john