내 요구 사항은 다음과 같은 구조는 MySQL의
(USER_ID, 점수, 순위)
USER_ID는 정수 식별자 (또한 기본 키)입니다있는 테이블을 만드는 것입니다.
점수는 사용자의 점수를 나타내는 정수 값입니다.
rank는 점수가있는 사용자 수> 현재 사용자의 점수입니다.
이 표의 항목은 다른 표에 삽입하여 규제해야합니다. 해당 테이블에서 user_id에 해당하는 항목이 발생할 때마다 내 테이블의 점수 변수를 1 씩 증가시키고 모든 user_id에 대해 순위를 다시 계산해야합니다.
이제 모든 사용자의 점수를 다른 모든 사용자와 비교해야하기 때문에 문제는 순위 업데이트입니다.
레코드가 점수에 따라 정렬 된 채로 유지되고 점수가 업데이트 될 때마다 해당 행이 위아래로 움직이는 순서가 지정된 테이블을 만들 수있는 방법이 있습니까?
기본 DB는 MySQL입니다. 이것을 구현하는 가장 좋은 방법은 무엇입니까? 성능은 여기에서 가장 중요한 관심사이며 점수 변경이 자주 발생합니다.
@hasan, 실제로 user_id는 다른 테이블의 외래 키입니다. 해당 테이블의 항목이 발생하면 특정 user_id에 대해이 테이블에서 점수가 업데이트됩니다 –