2011-11-21 4 views
0

계산 된 열을 여러 데이터 형식으로 만들고 인덱스 할 수있게하려고합니다. 이 질문은이 SO 게시물에 관련이있다 : 여기 다른 데이터 형식의 계산 된 열

id INT 
type INT 
data computed column 

당신이 볼 수 있듯이이 테이블

id---------type--------data 
1----------1-----------190 
2----------2-----------9/29/1972 
3----------3-----------12.72 
4----------1-----------2 
5----------4-----------this is a test 

갈 수있는 몇 가지 샘플 데이터입니다 : 여기

Linq: Sort by Date when its stored as text 내 데이터베이스 설정입니다 data 열에 여러 데이터 유형이 있습니다. 나는이 시스템을 어떻게 구현하고 인덱스 데이터 타입이 data인지 알려주고 싶었다. 예를 들어,

  • 유형 1 : 다음 인덱스 것이다 INT
  • 유형 2 : 다음 인덱스 DATE 또는 DATETIME는
  • 유형 3 것이다 : 다음 인덱스 소수점 것이다 등등 on

계산 된 열에 여러 가지 데이터 형식의 인덱스를 제공 할 수 있습니까? 그렇다면 어떻게해야합니까? - 다음 인덱스는 INTE

+2

이것은 EAV이며 수행하지 않는 것에 대한 패턴입니다. – gbn

+0

이렇게하려면 '데이터'를 varchar 열로 만든 다음 프로그래밍 방식으로 데이터 유형을 찾아야합니다. 하나의 열에 여러 데이터 유형을 가질 수 없기 때문에 "데이터 유형별"색인을 생성 할 수 없습니다. –

+0

실제로 달성하기를 희망 하시겠습니까? 'gbn'이 지적한 바에 따르면 구현/디자인 패턴 문제가 제기됩니다. 달성하려는 것을 설명 할 수 있다면 더 적절한 접근 방법 일 수 있습니다. – James

답변

0

당신은 열

4

열은 하나의 데이터 유형 몇 가지되지를 가지고위한 diffirent 데이터 유형을 사용할 수 없습니다에게있을 것입니다. 너 할 수 없다.

귀하의 설계는 EAV하고 당신이 주장하는 경우가 anti-pattern

, 당신은 하나의 VARCHAR 유형에 따라 더 계산 열을 추가 할 수 있습니다. 그런데 왜 처음부터 갖지 않으시겠습니까? 또는 인덱스 된 뷰를 사용하여 캐스트하고 인덱싱 할 수 있습니까?

+0

+1 - 이것은 상당히 우스운 디자인 개념입니다. 그가 일하기를 원한다면 각 데이터 유형에 대한 필드를 만들 수는 있지만 여전히 끔찍한 생각입니다. – JNK

관련 문제