인덱스를 만들고 사용하여 능률 향상

인덱스를 만들고 사용하여 능률 향상

Access에서 테이블을 검색하거나 특정 필드를 기준으로 테이블의 레코드를 정렬하는 경우가 잦은 경우 필드의 인덱스를 만들면 해당 작업을 신속하게 처리할 수 있습니다. 책을 읽을 때 색인을 사용하듯 Access에서는 테이블 인덱스를 사용해 데이터를 찾습니다. 즉, Access는 인덱스에서 데이터의 위치를 조회합니다. 기본 키의 경우와 같은 특수한 상황에서는 인덱스가 자동으로 만들어지지만 일반적으로는 사용자가 직접 인덱스를 만들어야 합니다.

이 문서에서는 인덱스에 대해 소개하고 인덱싱할 필드를 결정하는 방법과 인덱스를 만들고, 삭제하고, 변경하는 방법에 대해 설명합니다. 또한, Access에서 인덱스가 자동으로 만들어지는 경우에 대해서도 살펴봅니다.

이 문서의 내용

인덱스란 무엇인가요?

인덱싱할 필드 결정

색인 만들기

인덱스 삭제

인덱스 보기 및 편집

인덱스 자동 생성

참고: 이 문서에서 설명하는 방법을 사용해도 웹 데이터베이스에서 테이블의 인덱스를 만들 수는 없습니다. 웹 데이터베이스의 성능은 웹 데이터베이스를 호스트하는 SharePoint Server와 같은 여러 요인의 성능에 따라 달라집니다.

인덱스란 무엇인가요?

인덱스를 사용하면 Access에서 레코드를 더 빨리 찾고 정렬할 수 있습니다. 인덱스는 인덱싱하도록 선택한 필드에 따라 레코드 위치를 저장합니다. Access는 인덱스에서 위치를 얻은 후 올바른 위치로 직접 이동하여 데이터를 검색할 수 있습니다. 이러한 방법으로 인덱스를 사용하면 모든 레코드를 검사해서 데이터를 찾는 것보다 훨씬 빠를 수 있습니다.

인덱싱할 필드 결정

필드 하나 또는 여러 필드를 기반으로 하는 인덱스를 만들 수 있습니다. 자주 검색하는 필드, 정렬하는 필드, 다중 테이블 쿼리에서 다른 테이블의 필드에 조인하는 필드를 인덱싱하는 것이 좋습니다. 인덱스는 검색 및 쿼리 속도를 높일 수 있지만, 데이터를 추가하거나 업데이트할 때 성능이 느려질 수 있습니다. 하나 이상의 인덱싱된 필드가 포함된 테이블에 데이터를 입력하는 경우 Access에서 레코드가 추가되거나 변경될 때마다 인덱스를 업데이트해야 합니다. 대상 테이블에 인덱스가 포함되어 있는 경우 추가 쿼리를 사용하거나 가져온 레코드를 추가하여 레코드를 추가하는 작업 속도도 느려질 수 있습니다.

참고: 테이블의 기본 키는 자동으로 인덱싱됩니다.

데이터 형식이 OLE 개체, 계산된 형식 또는 첨부 파일인 필드는 인덱싱할 수 없습니다. 다른 필드의 경우 다음 사항이 모두 적용되면 필드를 인덱싱하는 것이 좋을 수 있습니다.

  • 필드의 데이터 형식은 짧은 텍스트(Access 2007 및 2010에서는 텍스트), 긴 텍스트(Access 2007 및 2010에서는 메모), 숫자, 날짜/시간, 일련 번호, 통화, 예/아니요 또는 하이퍼링크입니다.

  • 필드에 저장된 값을 검색해야 하는 경우

  • 필드의 값을 정렬해야 하는 경우

  • 여러 개의 서로 다른 값을 필드에 저장해야 하는 경우. 필드의 여러 값이 동일하면 인덱스를 만들어도 쿼리 속도가 크게 향상되지 않을 수 있습니다.

다중 필드 인덱스

두 개 이상의 필드를 한 번에 검색하거나 정렬하는 경우가 자주 있으면 해당 필드의 조합에 대한 인덱스를 만들 수 있습니다. 예를 들어, 동일한 쿼리에서 공급업체 및 제품 이름 필드에 대해 조건을 설정해야 하는 경우가 자주 발생하면 이 두 필드에 대해 다중 필드 인덱스를 만드는 것이 좋습니다.

다중 필드 인덱스를 사용하여 테이블을 정렬하면 Access에서는 우선 인덱스에 정의된 첫 번째 필드를 사용하여 테이블을 정렬합니다. 필드의 순서는 다중 필드 인덱스를 만들 때 설정합니다. 첫 번째 필드에 값이 중복된 레코드가 있으면 인덱스에 정의된 두 번째 필드를 기준으로 중복 레코드가 정렬됩니다.

다중 필드 인덱스에는 필드를 최대 10개까지 포함할 수 있습니다.

인덱스 만들기

인덱스를 만들려면 먼저 단일 필드 인덱스를 만들지 다중 필드 인덱스를 만들지 결정해야 합니다. 단일 필드에 대한 인덱스는 인덱스/Indexed 속성을 설정하여 만들 수 있습니다. 다음 표에는 인덱스/Indexed 속성에 대해 설정할 수 있는 값의 목록이 나와 있습니다.

인덱스/Indexed 속성 설정

의미

아니요

이 필드에 대해 인덱스를 만들지 않습니다. 기존의 인덱스가 있으면 이를 삭제합니다.

예(중복 가능)/Yes (Duplicates OK)

이 필드에 대해 인덱스를 만듭니다.

예(중복 불가능)/Yes (No duplicates)

이 필드에 대해 고유한 인덱스를 만듭니다.

고유한 인덱스를 만들도록 설정한 경우 필드에 새로 입력하려는 값이 다른 레코드의 동일한 필드에 이미 포함되어 있다면 해당 값을 입력할 수 없습니다. 기본 키에 대해서는 고유한 인덱스가 자동으로 만들어지지만 다른 필드에서도 값이 중복되지 않도록 할 수 있습니다. 예를 들어 일련 번호가 저장되는 필드에 대해 고유한 인덱스를 만들면 어떠한 제품에도 같은 일련 번호가 부여되지 않도록 할 수 있습니다.

단일 필드 인덱스 만들기   

  1. 탐색 창에서 인덱스를 만들려는 테이블의 이름을 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 디자인 보기를 클릭합니다.

  2. 인덱싱하려는 필드의 필드 이름을 클릭합니다.

  3. 필드 속성 아래에서 일반 탭을 클릭합니다.

  4. 인덱싱됨 속성에서 중복을 허용하려는 경우 예(중복 가능)을 클릭하고 고유한 인덱스를 만들려는 경우에는 예(중복 불가능)을 클릭합니다.

  5. 변경 내용을 저장하려면 빠른 실행 도구 모음에서 저장을 클릭하거나 Ctrl+S를 누릅니다.

다중 필드 인덱스 만들기   

테이블에 대해 다중 필드 인덱스를 만들려면 인덱스의 각 필드에 대한 행을 포함하고 인덱스 이름은 첫 번째 행에만 포함합니다. Access에서는 다른 인덱스 이름이 포함된 행에 도달하기 전까지 모든 행을 동일한 인덱스의 일부로 취급합니다. 행을 삽입하려면 행을 삽입할 위치를 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 행 삽입을 클릭합니다.

  1. 탐색 창에서 인덱스를 만들려는 테이블의 이름을 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 디자인 보기를 클릭합니다.

  2. 디자인 탭의 표시/숨기기 그룹에서 인덱스를 클릭합니다.

    인덱스 창이 나타납니다. 빈 행과 인덱스 속성을 볼 수 있도록 창 크기를 조정합니다.

  3. 인덱스 이름 열의 첫 번째 빈 행에 인덱스 이름을 입력합니다. 인덱스 필드 중 하나의 이름을 사용하거나 다른 이름을 사용하여 인덱스의 이름을 지정할 수 있습니다.

  4. 필드 이름 열에서 화살표를 클릭한 다음, 인덱스에 사용할 첫 번째 필드를 클릭합니다.

  5. 다음 행에서 인덱스 이름 열은 빈 채로 두고 필드 이름 열에서 인덱스의 두 번째 필드를 클릭합니다. 인덱스에 포함하려는 필드를 모두 선택할 때까지 이 단계를 반복합니다.

  6. 필드 값의 정렬 순서를 변경하려면 인덱스 창의 정렬 순서 열에서 오름차순이나 내림차순을 클릭합니다. 기본 정렬 순서는 오름차순입니다.

  7. 인덱스 창의 인덱스 속성 아래에서 인덱스 이름이 포함된 인덱스 이름 열의 행에 대한 인덱스 속성을 설정합니다. 다음 표에는 설정할 수 있는 속성에 대한 설명이 나와 있습니다.

    레이블

    Value(값)

    기본

    예/Yes로 설정하면 인덱스가 기본 키가 됩니다.

    고유​​(U)

    예/Yes로 설정하면 인덱스의 모든 값이 중복되지 않아야 합니다.

    Null 무시/Ignore Nulls

    예/Yes로 설정하면 인덱싱된 필드의 값이 Null인 레코드가 인덱스에서 제외됩니다.

  8. 변경 내용을 저장하려면 빠른 실행 도구 모음에서 저장을 클릭하거나 Ctrl+S를 누릅니다.

  9. 인덱스 창을 닫습니다.

인덱스 삭제

인덱스가 더 이상 필요하지 않거나 인덱스 때문에 성능이 크게 저하되는 경우 해당 인덱스를 삭제할 수 있습니다. 인덱스를 삭제하더라도 인덱스만 제거될 뿐 인덱스를 만들었던 필드는 그대로 유지됩니다.

  1. 탐색 창에서 인덱스를 삭제하려는 테이블의 이름을 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 디자인 보기를 클릭합니다.

  2. 디자인 탭의 표시/숨기기 그룹에서 인덱스를 클릭합니다.

    인덱스 창이 나타납니다. 빈 행과 인덱스 속성을 볼 수 있도록 창 크기를 조정합니다.

  3. 인덱스 창에서 삭제하려는 인덱스가 포함되어 있는 한 개 이상의 행을 선택한 다음, Delete 키를 누릅니다.

  4. 변경 내용을 저장하려면 빠른 실행 도구 모음에서 저장을 클릭하거나 Ctrl+S를 누릅니다.

  5. 인덱스 창을 닫습니다.

인덱스 보기 및 편집

특정 필드가 인덱싱되었는지 확인하거나 인덱스가 성능에 미치는 영향을 평가하기 위해 테이블의 인덱스를 볼 수 있습니다.

  1. 탐색 창에서 인덱스를 편집하려는 테이블의 이름을 마우스 오른쪽 단추로 클릭한 다음, 바로 가기 메뉴에서 디자인 보기를 클릭합니다.

  2. 디자인 탭의 표시/숨기기 그룹에서 인덱스를 클릭합니다.

    인덱스 창이 나타납니다. 빈 행과 인덱스 속성을 볼 수 있도록 창 크기를 조정합니다.

  3. 필요에 따라 인덱스 및 인덱스 속성을 보거나 편집합니다.

  4. 변경 내용을 저장하려면 빠른 실행 도구 모음에서 저장을 클릭하거나 Ctrl+S를 누릅니다.

  5. 인덱스 창을 닫습니다.

인덱스 자동 생성

경우에 따라서는 인덱스가 자동을 만들어집니다. 예를 들어, 테이블의 기본 키로 지정된 모든 필드에 대해서는 인덱스가 자동으로 생성됩니다.

Access 옵션 대화 상자에서 가져오거나 만들 때 인덱스 자동 만들기 옵션을 사용하여 자동으로 인덱스를 만들 수도 있습니다. 가져오거나 만들 때 인덱스 자동 만들기 상자에 입력한 문자(예: ID, key, code, num 등)로 이름이 시작하거나 끝나는 모든 필드가 Access에서 자동으로 인덱싱됩니다. 현재 설정을 확인하거나 변경하려면 다음 단계를 따릅니다.

  1. 파일 > 옵션을 클릭합니다. Access 2007을 사용하는 경우 Microsoft Office 단추를 클릭한 다음 Access 옵션을 클릭합니다.

  2. 개체 디자이너를 클릭한 다음, 테이블 디자인 아래의 가져오거나 만들 때 인덱스 자동 만들기 상자에서 값을 추가, 편집 또는 제거합니다. 값이 여러 개인 경우 세미콜론(;)을 사용하여 값을 구분합니다.

    참고: 이 상자에 나열된 값으로 이름이 시작하거나 끝나는 필드는 자동으로 인덱싱됩니다.

  3. 확인을 클릭합니다.

인덱스가 많으면 많을수록 Access에서 수행해야 할 작업이 많아지므로 데이터를 추가하거나 업데이트하는 경우 속도가 느려질 수 있습니다. 따라서 가져오거나 만들 때 인덱스 자동 만들기 상자에 표시된 값을 변경하거나 값의 개수를 줄여 인덱스를 꼭 필요한 만큼만 만드는 것이 좋습니다.

맨 위로 이동

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×