2009-08-14 4 views
0

나는 실물 크기의 레고 피트의 단위 테스트를 작성하고 있습니다. 리포지토리가 linq2sql에있는 동안 mock-up은 linq2sql 개체의 목록 만 사용합니다. 많은 테이블에서 많은 테이블로 갈 때 효율성은 다소 낮습니다.many to many 테이블에 대한 효율적인 쿼리

여기에 senario가 있습니다.

나는 many2many 테이블 인 tablePersonInCommunity를 가지며 CommunityID와 PersonID를 저장합니다. 또한 many2many 테이블 tablePersionInContact는 ContactID와 PersionID를 저장합니다. ContactID는 Contact 테이블의 엔티티를 가리 킵니다. 이는 구조는 다음과 같습니다

ContactID가의 INT, ContactType의 INT (비즈니스 또는 홈), 주소 1 문자열, 주소 2 문자열, ... 이제

, 내가 기록은 다음과 같습니다 얻을 싶어 : PersionID, BusinessContact, HomeContact

가장 효율적인 솔루션은 무엇입니까? 100 명의 인물 정보를 포함한 간단한 테스트는 Im이 목록 목업에 대해 테스트 할 때 시간 제한을 발생 시켰습니다.

미리 감사드립니다.

답변

0

대답은 테이블에 적합한 색인 생성 전략을 갖추는 데 있습니다.

그래서 ... (ContactID, PersonID) 및 다른 (PersonID, ContactID)에 대한 색인이 있으므로 대화 상대 또는 연락처별로 사람을 조회 할 수 있도록 다 대다 테이블에서 사람마다.

Rob

+0

감사합니다. 하지만 목록 기반 모형에 단위 테스트를 실행하고 있습니다. 색인을 추가 할 방법이 없습니다. 내 코드에서 다른 알고리즘을 사용했습니다. 이전보다 빠릅니다. 모두 똑같은 감사합니다! – Roy