2011-04-27 5 views
0

SQL Server에서 특히 다음과 같은 성능에 관심이 있습니다.한 열에 많은 데이터가 많고 작은 행에 많은 데이터가 저장됩니다.

단순한 전반적인 개념 : 각 객체에는 다른 유형의 객체 목록 (예 : Type2)이있는 객체 (예 : Type1)가 있습니다.

현재 스키마에는 각 유형별 테이블이 있습니다. 표 1은 Type1이고 표 2는 Type2이다. Table2의 각 레코드에는 각 Type2과 해당 Type1을 연결하는 참조가 있습니다.

그럼 이제 질문입니다. 나는 너무 멀어서 아직 이걸 만들지 않았기 때문에 나는 너무 멀어서 변하지 않을 것이다. 데이터베이스에서 Type2 개체를 개별적으로 가져 오는 계획은 없습니다. 항상 Type1을 가져오고 Type2 개체 목록을 가져 오거나 검색 할 수있는 방법을 갖습니다. 이 경우 Type2 개체 (예 : JSON)의 목록을 serialize하고에 대한 Table1의 열에 저장하는 것이 더 낫습니까? 이 열이 매우 커지면 느려지는 것을 느낄 수 있습니까?

답변

2

질문 : 어떤 상황에서 어떤 Type2을 사용할 수 있습니까? 거의 확실하게 대답은 '예'입니다. 미래의 어느 시점에 하나를 추가하거나 제거하거나 편집하려고 할 것입니다. JSON으로 직렬화하는 것은 불리합니다.

당신이 두 개의 테이블이있는 배열을 유지 (관련 Type2의 테이블이 매우 커질 경우에도 좋은 빠른 것 찾기 위해 너무 쿼리) Table2Type1 ID 상에 INDEX를 생성하고 어떤 문제가 있어서는 안된다.

관련 문제