그래서 비디오와 태그를 처리하기 위해 다소 큰 데이터베이스를 설계하려고합니다. 비디오 (27)에 대해 한정된 수의 태그 만 선택할 수 있으므로이 태그를 28 열 너비 (각 태그 당 하나의 열 + video_id)에 저장합니다.MySQL : 열 vs. 쿼리 더보기
사용자가 특정 태그 (예 : # 24)로 동영상을 좋아요/싫어하는 횟수를 얻고 싶을 때 문제가 발생합니다. 각각의 Like/Dislike는 다른 테이블에서 하나의 행을 가져옵니다.
다음은 내가 고려한 두 가지 옵션입니다.
1) 사용자 테이블에 27 개의 tinyint 열을 추가합니다. 각각은 tagX로 비디오에 투표 한 횟수를 나타냅니다.
PRO : 쉽게
CON 선정은 : 크기 작은
CON을 유지 : 열심히 시스템
모두를 각 사용자
2)를 사용하여 내부가
은 PRO 조인에 필요한 데이터의 양을 두 배로 나는 optomistic하고 좋은 연습을 사용하려고하기 때문에 300,000 이상의 사용자를 위해 데이터베이스를 최적화하려고 노력하고 있으며이 수치는 많이 필요할 것입니다. 나는 수학을했고 300,000 명의 사용자들조차도 데이터베이스에 약 27 메가 바이트 만 추가했습니다.
무엇을할까요?!
감사 :
, 당신은 같은 것을 할 것입니다 태그 당 투표 수를 표시하려면! 나는 분명히 이것을 할 것이다. – DropDeadFred81