내가 작은 일을위한 포인트 게임을 만드는거야, 그래서 같은 스키마가 있습니다비정규 화 된 스키마를 최신으로 유지하는 최선의 방법은 무엇입니까?
create table points (
id int,
points int,
reason varchar(10)
)
와 사용자가 가지고있는 점의 수를 얻는 것은 간단하다 :
select sum(points) as total from points where id = ?
그러나 성능은 점 테이블이 확장됨에 따라 점점 더 많은 문제가되었습니다. 다음과 같이하고 싶습니다.
create table pointtotal (
id int,
totalpoints int
)
동기화 상태를 유지하는 가장 좋은 방법은 무엇입니까? 모든 변경 사항에 대해 점수를 업데이트하려고합니까? 매일 스크립트를 실행합니까?
(I 오른쪽 키가 가정 - 그들이 편의상 탈락했다)
편집 : 여기
내가 왼쪽으로 몇 가지 특성이 있지만 도움이 될해야합니다
삽입/업데이트에 포인트가 모두 빈번하지는 않습니다. 많은 수의 항목이 있으며 많은 요청이 있습니다. 키는 꽤 사소한 것으로 보입니다.
백엔드 언어는 Perl이지만 중요한지 확실하지 않습니다. – Timmy