페이스 북과 같은 소셜 네트워크 웹 사이트를 만들고 있습니다. 내 "벽"의 경우 상태, 메시지, 사용자가 페이지를 좋아하거나 싫어하는 등 여러 가지 종류의 정보를 가지고 있습니다 ...페이스 북과 같이 복잡한 벽에 DB를 설계하는 방법
DB를 디자인하는 방법을 알고 싶습니다. 벽 관련 테이블)을 벽에있는 항목을 가져올 때 속도면에서 가능한 한 효율적으로 설정해야합니다.
미리 감사드립니다.
편집 :
- 모든 가능성을 처리 할 수있는 충분한 열이있는 큰 테이블이 (user_a, user_a, 메시지, 페이지, is_like, is_dislike, ...) : 나는이 개 아이디어를 가지고있다. 빠르지 만 많은 'NULL'값을 가지며 DB에서 많은 공간을 차지합니다.
- 벽 항목의 각 종류에 대한 테이블 (id, user_a, user_b)과 테이블이 세 개인 'wall_item' 메시지, 좋아요, 상태, ...). 정규화되지만 모든 정보를 얻는 데 필요한 왼쪽 결합의 수 때문에 시간이 많이 걸립니다.
내 질문에 투표 한 이유를 말해 줄 수 있습니까? 나는 그게 뭐가 잘못 됐는지 모르겠다 ... 내가 알게되면 고칠 수있어 기쁘다;) –