데이터베이스에서 가변 길이 레코드를 저장할 때, null bitmap은 테이블의 각 열이 NULL 값을 가지는지 여부를 효율적으로 기록하는 데 사용되는 데이터 구조입니다. 특히, 열들이 NULL 값을 가질 수 있는 테이블에서 레코드를 효율적으로 관리하고 저장 공간을 절약하기 위해 중요한 역할을 합니다.
NULL 값을 가지는지 여부를 기록하는 비트 배열입니다. 각 열에 대해 1비트를 할당하여 해당 열이 NULL 값인 경우 1, NULL이 아닌 경우 0으로 표시합니다.NULL 값을 가진 열에 대해 데이터를 실제로 저장할 필요가 없습니다. null bitmap을 통해 NULL 값인지 확인하고, NULL인 열에 대해서는 실제 데이터를 저장하지 않음으로써 공간을 절약할 수 있습니다.null bitmap을 사용하면, 각 열의 NULL 여부를 빠르게 확인할 수 있습니다. 데이터를 읽거나 쓸 때 해당 비트를 검사하여 값이 있는지, 혹은 NULL인지 쉽게 확인할 수 있습니다.null bitmap은 각 레코드의 헤더에 포함되어 있습니다.NULL 상태에 따라 비트 배열을 갱신합니다.만약 테이블에 4개의 열이 있고, 그 중 2번째 열만 NULL 값을 가진다고 가정하면, null bitmap은 다음과 같이 설정됩니다:
NULL 아님 (비트 0)NULL (비트 1)NULL 아님 (비트 0)NULL 아님 (비트 0)이 경우 null bitmap은 0100이라는 비트 배열을 가지게 됩니다.
null bitmap은 가변 길이 레코드에서 NULL 값 여부를 기록하고, 저장 공간을 절약하며, NULL 값을 빠르게 확인할 수 있도록 돕는 중요한 데이터 구조입니다.