2012-02-12 4 views
0

I 3 열 테이블 있어야하는 열의 각 사용자 WorkDate 하나씩 WorkDetail있을 것이다I 인덱스

  • int UserID
  • datetime WorkDate
  • string WorkDetail

한다.

where t.UserID == TheUserID && t.WorkDate.Date == TheDate.Date 

나는대로 인 경우 매개 변수의 순서를 유지해야 : 내 절은 UserID이 같은 WorkDate 일치 L2S 등을 사용하고 있습니다? 날짜 또는 userID의 색인을 생성해야합니까?

감사합니다.

답변

0

에 고유 인덱스해야합니다 날짜 1 개 세부 사항이있을 것이다라고 말하면 있도록 데이터베이스의 기본 키가. 데이터 무결성을 강화하고 한 번에 색인을 제공합니다.

+0

기본 키를 생성하면 자동으로 색인이 생성됩니까? – frenchie

+0

WorkDate를 기본 키로 만드시겠습니까? 많은 사용자가 동일한 WorkDate를 가질 수 있기 때문에 고유하지 않습니다. – frenchie

+0

아니요, 사용자 ID + 작업 날짜를 기본 (복합) 키로 만들 수 있습니다. 예, PK에는 항상 색인이 있습니다. – DamienG

1

정말 날짜와 사용자 ID를 모두 색인화해야합니다. 최소한 사용자 ID를 색인화하십시오.

+0

복합 색인을 권장합니까? – frenchie

0

나는 잠시 UserID 색인을 원합니다.

추가 날짜 색인으로 더 나은 성능을 찾으려면 계속 진행하십시오.

사용자와 관계없이 날짜순으로 검색해야하는 경우 나중에 추가 날짜 인덱스를 추가 할 수 없습니다.

0

각 사용자가 하나의 WorkDate을해야하는 경우 각 사용자가 다음이 (userId를, workDate)

+0

복합 색인을 권장 하시겠습니까? – frenchie

+0

예, 복합 고유 인덱스 (한 사용자가 날짜에 대해 최대 1 개의 세부 정보를 가질 수 있다면 고유함) – a1ex07