나는 장소를 평가하는 시스템을 개발하고 있으며, 여기에 내 질문이 있습니다. 의 내가 이렇게 내 데이터베이스에 테이블이 있다고 가정 해 봅시다 :평균을 저장 대 모든 요청을 때마다 계산하십시오
사용자가 장소에 대한 연구를하게places : id, name, description
place_marks : id, user_id, place_id, value, comment
, 나는 그에게 속도 내림차순으로 정렬 된 자리의 목록을 보내 싶습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?
해결 방법 1
- 마크
- 을 계산, 각 장소의 이름
- 에 해당하는 모든 장소를 얻기 새로운 정렬 된 목록
해결 방법 2
만들기- 것은 내가 검색의 마크
- 을 계산, 표
- 장소에서 열을 사용자가 마크를 추가 때마다 마르크 추가, 난 그냥 데이터베이스
솔루션 1에서 문제는 (쿼리에서 마크를 계산하더라도) 성능 문제 일 수 있으며 솔루션 2에서 마크를 계산할 때 충돌을 피할 수있는 방법은 무엇입니까?
저는 Play2를 MySQL과 함께 사용하고 있습니다. 도움 주셔서 감사합니다.
이것은 내가 완전한 대답이라고 부른 것입니다. 감사합니다. :)! 당신 말이 맞아요. 저는 첫 번째 해결책을 선택하겠다고 생각합니다. 매일 밤 평균을 다시 계산한다는 생각은 아주 좋습니다. 앞으로 문제가 발생하면 솔루션 3을 조사 할 것입니다. – c4k
기꺼이 도와 드리겠습니다. 옵션 3은 실패 할 수 있고 반복해야 할 작업을 실행하는 데 이상적이라고 덧붙여 야합니다. 나는 그것을 사용한다. 이메일을 보내기위한; SMTP 서버가 다운되면 코드에 신경 쓰지 않아도됩니다. 데이터를 가져 와서 정기적으로 다시 시도하는 다른 프로세스 (cron으로 시작됨)가 있습니다. 코드를 깨끗하게 유지하고 (주 코드는 데이터를 dd에만 넣음) 강력합니다 (Android/iPhone의 푸시 메시지에도 사용) –