안녕하세요 저는 웹 개발의 초보자입니다. 소셜 네트워킹 사이트를 개발하려고합니다. 데이터베이스 디자인 수준에서 나는 약간의 문제가있는 것처럼 느낀다. 여기 내 문제가있다.엄청난 양의 상태 및 의견 처리에 문제가 있음
나는 속성은 상태 테이블이 있습니다
- status_id (AUTO_INCREMENT)
- USER_ID
- 상태를
내 홈 페이지로드는 그것을 찾을 때 내 계획은 내 릴레이션 테이블 (관계 테이블 있음) 및 관계 테이블에서 user_id 함께 최신 상태로 상태 테이블을로드합니다. 좋은 계획입니까? 이 테이블은 수백만 개의 행을 포함 할 수 있기 때문에 (행운이지만 가장 효율적인 방법이 필요합니다) 한 사용자가 200 또는 300 명의 친구를 쿼리하면 느려 집니까? 테이블에 아주 오래된 상태를 유지해야합니까? 제게 조언 해주세요. 이 테이블은 자주 삽입되므로 인덱싱은 좋지 않을 수 있습니다. 어떻게 생각하십니까? 또한 속성은 테이블에 대해 언급했다 :
- USER_ID
- friend_id
- status_id (코멘트를 그 상태에 대한)
- 코멘트 여기
에 (주석있는 상태에서) 기본 키가 없습니다. 이 표에 대한 질문은 같습니다. MySQL 데이터베이스와 MyISAM을 데이터베이스 엔진으로 사용하고 있습니다. InnoDB는 어떻습니까? 소셜 네트워킹에 가장 적합한 엔진은 무엇입니까? 미리 감사드립니다.
이 사이트에 얼마나 큰 기대가 있습니까? 이것은 숙제/자기 학습 운동입니까? 큰 소셜 네트워크는 성능 때문에 NoSQL 데이터베이스를 사용합니다. –
1) 너무 많은 질문. 2) 귀하의 의견 테이블 friend_id, 필요하지 않습니다 및 아마도 기본 키로 comment_id – Ghost
나는 rdms 함께 이렇게하는 가장 좋은 방법을 원한다 –