>  기사  >  데이터 베이스  >  MySQL 인덱스를 사용하는 이유는 무엇입니까?

MySQL 인덱스를 사용하는 이유는 무엇입니까?

autoload
autoload원래의
2021-03-23 15:41:172411검색

데이터베이스 시스템이 데이터에 액세스하는 두 가지 방법:

(1) 순차 액세스

순차 액세스는 테이블에서 전체 테이블 스캔을 수행하고 조건이 발견될 때까지 처음부터 끝까지 행별로 탐색하는 것입니다. 정렬되지 않은 행 데이터 대상 데이터입니다. 순차 접근은 비교적 구현이 간단하지만, 테이블에 데이터 양이 많으면 효율성이 매우 낮습니다.

(2) 인덱스 액세스

인덱스 액세스는 인덱스를 순회하여 테이블의 레코드 행에 직접 액세스하는 방법입니다. 이 방법을 사용하는 전제는 테이블에 인덱스를 생성한 후 데이터 검색 시 해당 컬럼의 인덱스를 기준으로 해당 레코드 행의 위치를 ​​직접 찾을 수 있어 빠르게 찾을 수 있다는 것이다. 데이터. 인덱스는 지정된 열의 데이터 값에 대한 포인터를 저장하고 지정된 정렬 순서에 따라 이러한 포인터를 정렬합니다. ~ >                                                              인덱스를 통해 데이터를 쿼리하면 기록된 모든 정보를 읽을 필요가 없고 인덱스 열만 쿼리하면 됩니다. 그렇지 않으면 데이터베이스 시스템은 일치를 위해 각 레코드의 모든 정보를 읽습니다. 중국어 사전의 디렉토리 페이지(색인)를 예로 들면, 병음, 획, 부수 등으로 정렬된 디렉토리(색인)에서 필요한 단어를 빠르게 찾을 수 있습니다. 색인이 없으면 데이터베이스 시스템이 쿼리합니다. 따라서 인덱스를 사용하면 데이터베이스의 쿼리 속도를 크게 향상시키고 데이터베이스 시스템의 성능을 효과적으로 향상시킬 수 있습니다.

색인 액세스의 장점과 단점:

장점:

빠르게 검색할 수 있어 I/O번을 줄이고 검색 속도를 높일 수 있습니다. :

인덱스 자체도 테이블이므로 저장 공간을 차지하게 됩니다. 일반적으로 인덱스 테이블이 차지하는 공간은 데이터 테이블의 1.5배입니다. 인덱스 테이블을 유지하고 생성하려면 시간 비용이 필요합니다. , 데이터 양이 증가하면 이 비용도 증가합니다. 인덱스를 구축하면 데이터 테이블 수정 작업(삭제, 추가, 수정)의 효율성이 감소합니다. 왜냐하면 데이터 테이블을 수정할 때 인덱스 테이블도 수정해야 하기 때문입니다. 추천:
mysql 튜토리얼

위 내용은 MySQL 인덱스를 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.