고객 ID (GUID), 데이터 포인트 (문자열) 및 입력 시간을 보유 할 테이블을 작성하려고합니다. 그러나, 나는 그것을 가장 잘 키우는 방법을 이해할 수 없다. 3 튜플 ID/문자열/시간이 고유하다는 것을 보장 할 수 없습니다 (테이블에 사용자 입력이 포함될 수 있으며 일부 사용자는 양식 제출을 스크립팅하려고하므로 충분한 시간이 없을 수도 있습니다).기본 키 또는 대리 키가 없습니까?
이 표에서 조회를 자주 수행하므로 쿼리 속도가 중요합니다. 반면에 인서트를 완전히 무력화시킬 수는 없습니다.
따라서 두 가지 선택 사항이 있습니다. 기본 키없이 이동하거나 대리 자동 증가 키를 정의하십시오. 위의 요구 사항에 가장 적합한 것은 무엇입니까? 세 개의 데이터 열에 대리 키와 고유하지 않은 색인을 사용할 수 있습니까?
우리는 SQL Server 2008 R2를 사용하고 있습니다.
* 기본 키가없는 경우 테이블이 아닙니다 * .... –
저는 자동 증가 필드를 만들고이를 기본 키로 설정합니다. 그런 다음 다른 3 개의 열을 색인화하십시오. 하나의 색인은 표 검색 방법에 따라 충분할 수 있습니다. – Andrew
고객 ID + 입력 시간이 고유 한 조합을 만들 것입니다. 그러나 그것은 당신이 자동 증가와 함께 더 나을 것 같은 무의미한 것입니다. –