내 요구 사항은 다음과 같습니다
- 모든 데이터 유형의 사용자 정의 필드를 동적으로 추가 할 수 있어야합니다.
- UDF를 빠르게 쿼리 할 수 있어야합니다.
- 데이터 유형을 기반으로 UDF에서 계산을 수행 할 수 있어야합니다.
- 데이터 유형에 따라 UDF를 정렬 할 수 있어야합니다.
기타 정보:
- 나는 주로 성능을 찾고 있습니다
- UDF 데이터를 첨부 할 수있는 수백만 개의 마스터 레코드가 있습니다.
- 마지막으로 확인했을 때 현재 데이터베이스에 50mil 이상의 UDF 레코드가있었습니다.
- 대부분의 경우 UDF는 수천 개의 마스터 레코드에만 첨부됩니다.
- UDF는 결합되거나 키로 사용되지 않습니다. 쿼리 나 보고서에 사용 된 데이터 일뿐입니다.
옵션 :
StringValue1, StringValue2 ... IntValue1, IntValue2, ... 등으로 큰 테이블을 만듭니다. 나는이 아이디어가 싫지만 다른 아이디어보다 더 나은 이유를 말해 줄 수 있다면 고려할 것입니다.
필요에 따라 새 열을 추가하는 동적 테이블을 작성하십시오. 모든 열을 색인화하지 않으면 성능이 느려질 것이라고 생각하기 때문에이 아이디어가 마음에 들지 않습니다.
UDFName, UDFDataType 및 Value를 포함하는 단일 테이블을 작성하십시오. 새 UDF가 추가되면 해당 데이터 만 가져와 지정된 유형으로 구문 분석하는 View를 생성하십시오. 구문 분석 기준을 충족하지 않는 항목은 NULL을 반환합니다.
데이터 유형 당 하나씩 여러 UDF 테이블을 작성하십시오. 따라서 UDFStrings, UDFDates 등에 대한 테이블이 있습니다. 아마도 # 2와 동일하게 수행하고 새 필드가 추가 될 때마다 View를 자동 생성 할 것입니다.
XML 데이터 유형? 나는 이것들과 함께 일한 적이 없지만 그들이 언급 한 것을 보았습니다. 그들이 특히 내가 원하는 결과를 줄 것인지 확실하지 않습니다.
다른 것?