현재 사용자의 최고 점수 만 저장하는 MySQL 테이블 설정이 있습니다. 그들이 더 좋은 점수를 얻으면 이전 점수가 업데이트됩니다. 마지막으로 24 시간 이내에 게시 된 점수 만 보여주는 24 시간 리더 보드를 갖고 싶습니다.결과 페이지로 돌아 가기 사용자의 최고 점수
두 가지 옵션이 마음에 와서 :
1) 각 리더 2 개 별도의 테이블을 가지고. 사용자 당 1 점만 저장하는 "Best Score"리더 보드와 사용자 당 1 점을 저장하고 시간을 기록하는 "24 시간"리더 보드. 즉, 점수를 제출할 때마다 1 대신 2 테이블로 보내야하지만 데이터 풋 프린트는 다음 옵션에 비해 최소화됩니다.
2) 사용자 당 중복 점수를 게시 할 수있는 표가 1 개 있고 시간 기록에 점수가 표시되며 필요한 데이터 (점수가 가장 좋음, 24 시간 내에 점수 등) .
아이디어가 있습니까? 이것은 내가 PHP/MySQL을 다루었을 때 처음 이었기 때문에 최선의 접근 방식이 설계/효율성 측면에서 무엇인지 확실하지 않습니다.
별도의 로직을 구분해야하므로 첫 번째 디자인 원칙을 명확하게 이해해야합니다. 또한 다른 보드를 건드리지 않고도 한 보드를 재 설계/제거/변경할 수 있습니다. – arkascha
왜 이럴 수 있니? 이것은 점수 유지 측면에서 악몽입니다. 사용자가 다른 스코어 보드를 추가하기로 결정하면 어떻게됩니까? 그런 다음 자신의 프로그램에 논리를 추가해야합니다. 그것은 모든 의견을 정상화 된 상태로 데이터베이스 수준에서 유지해야합니다. – Lock