CHECKSUM (Transact-SQL)

  • 07/24/2017
  • 3 minutes to read
    • c
    • r
    • M
    • i
    • M
    • +6

Applies to: 예를 들어,데이터베이스 관리 인스턴스의 경우 데이터베이스 관리 인스턴스의 경우 데이터베이스 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우 관리 인스턴스의 경우>함수는 테이블 행,또는 식 목록을 통해 계산 된 체크섬 값을 반환합니다. 해시 인덱스를 만드는 방법은 다음과 같습니다.

Transact-SQL 구문에 규칙

Syntax

CHECKSUM ( * | expression ) 

참고.

을 보 Transact-SQL 구문에 대한 SQL Server2014 이전 버전 이전 버전 설명서입니다.이 구문은 서버리스 풀에서 지원되지 않습니다.이 인수는 체크섬 계산이 모든 테이블 열을 포함하도록 지정합니다. 모든 열에 비교할 수 없는 데이터 형식이 있는 경우 오류를 반환합니다. 비교할 수없는 데이터 유형은 다음과 같습니다:다른 비교할 수없는 데이터 유형은 기본 유형으로 앞의 데이터 유형 중 하나와 제곱 변수입니다.비교할 수없는 데이터 유형을 제외한 모든 유형의 표현식입니다.

Return 유형

int

CHECKSUM해시를 계산 값이라는 체크섬,그것의 인수 목록입니다. 이 해시 값을 사용하여 해시 인덱스를 작성합니다. 함수에 열 인수가 있고 계산된 값 위에 인덱스가 작성되면 해시 인덱스가 생성됩니다. 이 열을 통해 같음 검색에 사용할 수 있습니다.두 목록의 해당 요소가 동일한 데이터 형식을 갖는 경우,동일한 값을 반환하고,해당 요소가 같음(=)연산자를 사용하여 비교할 때 같음을 갖는 경우. 지정된 형식의 널 값은 함수 목적에 대해 동일하게 비교하도록 정의됩니다. 식 목록의 값 중 하나 이상이 변경되면 목록 체크섬이 변경될 수 있습니다. 그러나,이 보장되지 않습니다.따라서 값이 변경되었는지 여부를 감지하려면 응용 프로그램에서 가끔 누락된 변경을 허용할 수 있는 경우에만 사용하는 것이 좋습니다. 그렇지 않으면,대신을 사용하는 것이 좋습니다. 두 개의 서로 다른 입력에 대해 동일한 결과를 반환 할 확률은 훨씬 낮습니다.식 순서는 계산된 값에 영향을 줍니다. 테이블 또는 뷰 정의에 지정된 열의 순서입니다. 여기에는 계산 열이 포함됩니다.이 값은 데이터 정렬에 따라 다릅니다. 다른 데이터 정렬과 함께 저장된 동일한 값은 다른 값을 반환합니다.이 문제를 해결하는 방법은 다음과 같습니다.이 예제에서는 해시 인덱스를 빌드하는 데 사용하는 방법을 보여 줍니다.해시 인덱스를 작성하기 위해 첫 번째 예제에서는 인덱싱할 테이블에 계산된 체크섬 열을 추가합니다. 그런 다음 체크섬 열에 인덱스를 작성합니다.이 예제에서는 체크섬 인덱스를 해시 인덱스로 사용하는 방법을 보여 줍니다. 이렇게 하면 인덱스에 대한 열이 긴 문자 열인 경우 인덱싱 속도를 향상시킬 수 있습니다. 체크섬 인덱스는 같음 검색에 사용할 수 있습니다.계산 열에 인덱스 생성은 체크섬 열을 구체화하고,값에 대한 변경 사항은 체크섬 열에 전파됩니다. 또는 인덱싱 할 열에 직접 인덱스를 작성할 수 있습니다. 그러나 긴 키 값의 경우 일반 인덱스는 체크섬 인덱스뿐만 아니라 수행되지 않을 수 있습니다.

See also

CHECKSUM_AGG (Transact-SQL)
HASHBYTES (Transact-SQL)
BINARY_CHECKSUM (Transact-SQL)

답글 남기기

이메일 주소는 공개되지 않습니다.