1

여러 MLS의 MLS (Multiple Listing Service) 부동산 리스팅을 저장할 앱을 개발 중입니다. 내 고객의 대다수는 하나의 MLS 만 사용하지만, 일부 MLS는 여러 MLS를 사용합니다. 내 질문은 : 테이블을 설정하는 가장 좋은 방법은 무엇입니까? 50 개의 MLS가 있다고 가정 해 봅시다. 각 MLS는 대략 80,000 개의 레코드와 100 개의 필드를 갖습니다. 모든 목록을 단일 테이블에 넣고 MLSID로 참조해야합니까? 또는 각 MLS에 대해 새 테이블을 만들어야합니까? 각 MLS는 항상 동일한 필드 이름과 데이터 유형을 갖습니다.최고의 테이블 구조는 무엇입니까?

필자는 각 MLS를 자체 테이블에 배치하는 것이 성능에 가장 좋지만 확장성에는 적합하지 않다고 생각합니다. 모든 레코드를 단일 테이블에 넣으려면 성능에 어느 정도 영향을 미칠 것이라고 생각합니까? 또한 고객이 여러 MLS를 사용할 때 여러 테이블이 아닌 단일 테이블에서 가져올 수 있기 때문에 단일 테이블이 더 좋을 수 있다고 생각합니다. 생각이나 아이디어?

+0

너무 광범위한 질문입니다. 올바른 대답이 하나만있는 것은 아닙니다. –

답변

1

모든 MLS를 같은 테이블에 넣을 것입니다. 정규화는 반복 가능한 데이터가있는 경우 일부 MLS 데이터가 별도로 저장된다는 것을 나타냅니다. 나는 그 사업에 대해 충분히 알지 못한다.

클라이언트가 하나 이상의 MLS를 가질 수 있다면 일대 다 관계를 명시 적으로 표시하기 위해 교차 테이블을 만들 것입니다.

+0

그것이 내가 생각한 것입니다. 그러나 그것이 성능에 어떤 영향을 미칠 것입니까? 100,000 대 수백만 레코드가있는 테이블 쿼리? 상관없이 교차 테이블을 이미 가지고 있습니다. – Ricketts

+0

쿼리 성능은 주로 테이블의 인덱스와 통계에 의해 결정됩니다. 쿼리가 많은 열에 클러스터되지 않은 인덱스는 물론 클러스터 된 인덱스를 만들어야합니다. 사물의 웅대 한 계획에서, 나는 커다란 관리 할 수없는 테이블이라고 말하지 않을 것입니다. –

+0

나는 단 하나의 테이블이가는 길에 동의한다. 나는 경험 많은 DBA가 아니며 인덱스에 익숙하지도 않지만 필자는 필 요하게 연구하고 구현할 것입니다. 도와 주셔서 감사합니다! – Ricketts

관련 문제