나는 사용자가 기사를 읽을 수있는 웹 사이트를 개발하고 있어요. 사용자가 액세스 할 때 읽은 기사를 자동으로 표시하도록 제안하는 기능을 구현하려고합니다. 문제는 DB에 기사 데이터를 저장하는 방법을 모르겠다는 것입니다. 수십만 개의 기사와 수천 명의 사용자가있을 수 있습니다. '기사 읽기'에서 각 기사/사용자에 대한 행을 저장하는 것은 비효율적 인 방법입니다. 다른 옵션은 무엇입니까?SQL DB에 기사를 저장하는 가장 좋은 방법은 무엇입니까?
1
A
답변
2
기사와 사용자의 여러 수천 수백있을 수 있습니다. '기사 읽기'에서 각 기사/사용자에 대한 행을 저장하는 것은 비효율적 인 방법입니다.
{user, article}
쌍마다 하나의 행을 저장하는 체계가 정확합니다. 행 수가 많으면이 스키마를 비효율적으로 만든다는 의미는 잘못되었습니다. 현대 데이터베이스는 많은 행을 매우 효율적으로 처리하도록 최적화되어 있습니다.
또한 "수십만 개의 기사와 수천 명의 사용자"가 많은 행으로 변환된다는 암시도 올바르지 않습니다. 사용자가 읽는 기사 당 행을 모든 기사가 아닌 저장하고, 그래서 당신이 얻는 행의 수는 최악의 추정치에 미치지 못합니다.
0
전략에 따라 :
는 각 사용자에 대해 고유 한 기사를 저장하는 경우 당신이 기사 상태를 저장할 수 있습니다 (나에게 나중에 기능을 읽기). 당신이 사용자의 읽을 수있는 기사로 설정 한 경우
, 당신은 제대로 상태를 읽고 저장하는 추가 테이블을 도입 할. 나는이 접근법에서 잘못된 점을 보지 못했다.
관련 문제
- 1. 안드로이드에 뉴스 기사를 저장하는 가장 좋은 방법은 무엇입니까?
- 2. DB에 메일을 저장하는 가장 좋은 방법은 (후위)
- 3. 많은 행을 동시에 DB에 저장하는 가장 좋은 방법은 무엇입니까?
- 4. DB에 표준 시간대 정보를 저장하는 가장 좋은 방법은 무엇입니까?
- 5. DB에 참조 된 상수를 저장하는 가장 좋은 방법은 무엇입니까?
- 6. 이메일 전송을 위해 db에 이미지를 저장하는 가장 좋은 방법은 무엇입니까?
- 7. 데이터를 db에 저장하는 가장 좋은 방법
- 8. 블로그에 게시물을 저장하는 가장 좋은 방법은 무엇입니까
- 9. PHP 파일을 통해 SQL DB에 연결하는 가장 좋은 방법은 무엇입니까?
- 10. MySQL에 기사를 저장하는 방법은 무엇입니까?
- 11. 안드로이드에 로컬 저장하는 가장 좋은 방법은 무엇입니까?
- 12. SQL에 정렬을 저장하는 가장 좋은 방법은 무엇입니까?
- 13. SQL Server에 이미지를 저장하는 가장 좋은 방법
- 14. 파이썬에서 데이터를 저장하는 가장 좋은 방법은 무엇입니까?
- 15. 비밀번호를 저장하는 가장 좋은 방법
- 16. 콘텐츠를 저장하는 가장 좋은 방법은 무엇입니까?
- 17. 가장 좋은 방법은 내가 여기에 좋은 기사를 발견
- 18. SQL Server에 보조 파일을 저장하는 가장 좋은 방법은 무엇입니까?
- 19. SQL Server에 대규모 데이터 집합을 저장하는 가장 좋은 방법은 무엇입니까?
- 20. SQL Server 테이블에 태그를 저장하는 가장 좋은 방법은 무엇입니까?
- 21. XML 데이터를 SQL Server에 저장하는 가장 좋은 방법은 무엇입니까?
- 22. SQL 데이터베이스에 주석 플래그를 저장하는 가장 좋은 방법은 무엇입니까?
- 23. 안드로이드의 SQL 데이터베이스에 날짜/시간을 저장하는 가장 좋은 방법은 무엇입니까?
- 24. DB에 길이를 저장하는 방법
- 25. 사용자 알림을 저장하는 가장 좋은 방법은 무엇입니까?
- 26. NSMutableArray를 NSUserDefaults에 저장하는 가장 좋은 방법은 무엇입니까?
- 27. 게임용 데이터를 저장하는 가장 좋은 방법은 무엇입니까?
- 28. SQLite에 배열을 저장하는 가장 좋은 방법은 무엇입니까?
- 29. 안드로이드에 이미지를 저장하는 가장 좋은 방법은 무엇입니까?
- 30. iOS에 데이터를 저장하는 가장 좋은 방법은 무엇입니까?
아니, 그건 올바른 방법입니다. – eggyal
당신은 이미 그것을 올바르게하고 있습니다. – ajtrichards
데이터베이스의 힘을 과소 평가하지 마십시오 :-) – Bart