> 데이터 베이스 > MySQL 튜토리얼 > 데이터베이스에 인덱스를 생성하는 방법

데이터베이스에 인덱스를 생성하는 방법

angryTom
풀어 주다: 2019-08-06 10:21:00
원래의
35298명이 탐색했습니다.

데이터베이스에 인덱스를 생성하는 방법

인덱스는 열에서 특정 값을 가진 행을 빠르게 찾는 데 사용됩니다. 인덱스를 사용하지 않으면 MySQL은 첫 번째 레코드부터 전체 테이블을 읽어야 합니다. 테이블이 많을수록 관련 행을 찾을 때까지 데이터를 쿼리하는 데 더 많은 시간이 걸립니다. 인덱스를 생성하는 단계는 다음과 같습니다:

권장 튜토리얼: MySQL 소개 비디오 튜토리얼# 🎜🎜#

1. 먼저 작업할 데이터 테이블을 열고, 아래 그림과 같이 이름 필드에 인덱스를 추가해야 합니다.

데이터베이스에 인덱스를 생성하는 방법

2. 다음으로 아래 그림과 같이 create index를 통해 인덱스를 추가할 수 있습니다.

데이터베이스에 인덱스를 생성하는 방법

3 그런 다음 테이블 아래의 인덱스 폴더를 확장하면 생성된 인덱스를 볼 수 있습니다.

데이터베이스에 인덱스를 생성하는 방법

4. 다음으로 인덱스를 생성할 때 필드 뒤에 정렬 방법을 추가할 수도 있습니다.

데이터베이스에 인덱스를 생성하는 방법

5. 그런 다음 아래 그림과 같이 인덱스를 삭제할 때 테이블 삭제와 유사한 drop 문을 사용합니다.

데이터베이스에 인덱스를 생성하는 방법

6. 마지막 drop 문이 실행된 후에는 인덱스 폴더에 인덱스가 없습니다.

데이터베이스에 인덱스를 생성하는 방법

확장 정보

 #🎜 🎜 # 인덱스는

테이블의 데이터 행 검색 속도를 높이기 위해 만들어진 분산형 저장 구조입니다. 인덱스는 데이터 페이지 이외의 인덱스 페이지로 구성됩니다. 각 인덱스 페이지의 행에는 물리적 데이터 검색 속도를 높이기 위한 논리적 포인터가 포함됩니다. [2] 데이터베이스 다이어그램에서 각 인덱스 유형은 선택한 테이블의 "인덱스/키" 속성 페이지에서 생성, 편집 또는 삭제할 수 있습니다. 인덱스가 첨부된 테이블을 저장하거나 테이블이 있는 그래프를 저장하면 인덱스가 데이터베이스에 저장됩니다.

관계형 데이터베이스에서 인덱스는 데이터베이스 테이블에 있는 하나 이상의 열 값을 정렬하는 별도의 물리적 저장 구조입니다. 값의 목록과 해당 값을 물리적으로 식별하는 테이블의 데이터 페이지에 대한 논리적 포인터의 해당 목록입니다. 색인은 책의 목차와 같습니다. 목차의 페이지 번호를 기준으로 원하는 내용을 빠르게 찾을 수 있습니다.

인덱스는 테이블의 지정된 열에 저장된 데이터 값에 대한 포인터를 제공한 다음 지정한 정렬 순서에 따라 이러한 포인터를 정렬합니다. 데이터베이스는 인덱스를 사용하여 특정 값을 찾은 다음 앞쪽을 가리키며 해당 값이 포함된 행을 찾습니다. 이를 통해 테이블에 해당하는 SQL 문을 더 빠르게 실행하고 데이터베이스 테이블의 특정 정보에 빠르게 액세스할 수 있습니다.

테이블에 레코드가 많을 때, 테이블을 조회하고 싶다면, 정보를 검색하는 첫 번째 방법은 테이블 전체를 검색하는 것, 즉 모든 레코드를 꺼내는 것입니다. 하나씩 쿼리 조건과 비교한 다음 조건을 충족하는 레코드를 반환하면 데이터베이스 시스템 시간이 많이 소모되고 많은 디스크 I/O 작업이 발생합니다. 두 번째는 인덱스를 생성하는 것입니다. 인덱스에 있는 ROWID(페이지 번호에 해당)를 이용하여 테이블에서 해당 레코드를 빠르게 찾습니다.

Advantages

1. 데이터 검색 속도를 대폭 향상합니다.

2. 데이터베이스 테이블의 각 데이터 행의 고유성;

 3. 테이블 간의 연결을 가속화합니다.

 4. 데이터 검색을 위해 그룹화 및 정렬 절을 사용할 때 쿼리의 그룹화 및 정렬 시간을 줄입니다.

단점

 1. 인덱스에는 물리적 공간이 필요합니다.

 2. 테이블의 데이터 추가, 삭제, 수정 시 인덱스를 동적으로 유지해야 하므로 데이터 유지 속도가 저하됩니다.

위 내용은 데이터베이스에 인덱스를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿