>  기사  >  데이터 베이스  >  mysql 인덱스는 어디에 있나요?

mysql 인덱스는 어디에 있나요?

anonymity
anonymity원래의
2019-05-24 10:52:3313467검색

mysql 인덱스 위치는 [데이터베이스 설치 디렉터리 데이터베이스 이름]입니다. 인덱스는 레코드를 빠르게 찾기 위해 스토리지 엔진에서 사용하는 데이터 구조입니다. 인덱스는 좋은 성능을 위해 매우 중요합니다.

mysql 인덱스는 어디에 있나요?

MySQL의 인덱스 소개

(동영상 튜토리얼 추천: mysql video tutorial)

MySQL에서는 인덱스(index)를 "키"라고도 하는데, 이는 스토리지 엔진 A 레코드를 빠르게 찾는 데 사용되는 데이터 구조.

인덱스는 좋은 성능을 위해 매우 중요합니다. 특히 테이블의 데이터 양이 점점 더 커지면 인덱스가 성능에 미치는 영향이 점점 더 중요해집니다.

인덱스 최적화는 쿼리 성능을 최적화하는 가장 효과적인 수단이어야 합니다. 실제로 최적의 인덱스를 만들려면 SQL 쿼리 문을 다시 작성해야 하는 경우가 많습니다.

인덱스 작동 방식

MySQL에서 인덱스가 작동하는 방식을 이해하려면 가장 쉬운 방법은 책의 인덱스 부분을 살펴보는 것입니다. 예를 들어, 책에서 특정 주제를 찾으려면 일반적으로 먼저 책의 색인을 읽고 해당 장과 해당 페이지 번호를 찾으면 읽고 싶은 내용을 빠르게 찾을 수 있습니다.

MySQL에서 스토리지 엔진은 비슷한 방식으로 인덱스를 사용합니다. 먼저 인덱스에서 해당 값을 검색한 다음 일치하는 인덱스 레코드를 기반으로 해당 데이터 행을 찾고 마지막으로 데이터 결과 세트를 클라이언트에 반환합니다.

인덱스 유형

MySQL에서 일반적으로 참조하는 인덱스 유형은 다음과 같습니다.

일반 인덱스(인덱스 또는 키)라고도 하는 일반 인덱스는 쿼리 효율성을 일상적으로 향상시킬 수 있습니다. 데이터 테이블에는 여러 개의 일반 인덱스가 있을 수 있습니다. 기존 인덱스는 가장 일반적으로 사용되는 인덱스 유형입니다. 인덱스 유형을 명시적으로 지정하지 않으면 우리가 참조하는 인덱스는 기존 인덱스를 참조합니다.

기본 키 인덱스(기본 키), 기본 키라고도 합니다. 쿼리 효율성을 향상시키고 고유한 제약 조건을 제공할 수 있습니다. 테이블에는 기본 키가 하나만 있을 수 있습니다. 자동 증가로 표시된 필드는 기본 키여야 하지만 기본 키가 반드시 자동 증가일 필요는 없습니다. 일반적으로 기본키는 의미 없는 필드(숫자 등)에 정의되며, 기본키의 데이터 타입은 숫자값인 것이 바람직하다.

고유 키는 쿼리 효율성을 향상하고 고유한 제약 조건을 제공할 수 있습니다. 테이블에는 여러 개의 고유 인덱스가 있을 수 있습니다.

전체 텍스트 검색의 쿼리 효율성을 향상시킬 수 있는 전체 텍스트 색인(Full Text)은 일반적으로 Sphinx로 대체됩니다. 그러나 Sphinx는 중국어 검색을 지원하지 않습니다. Coreseek은 중국어 단어 분할 기능을 갖춘 Sphinx라고도 알려진 중국어를 지원하는 전체 텍스트 검색 엔진입니다. 실제 프로젝트에서는 Coreseek을 사용합니다.

외래 키라고도 하는 외래 키는 쿼리 효율성을 향상시킬 수 있습니다. 외래 키는 자동으로 다른 테이블의 해당 기본 키와 연결됩니다. 외래 키의 주요 기능은 레코드의 일관성과 무결성을 보장하는 것입니다.

참고: InnoDB 스토리지 엔진이 있는 테이블만 외래 키를 지원합니다. 외래 키 필드에 인덱스 이름이 지정되지 않으면 자동으로 생성됩니다. 상위 테이블(분류 테이블 등)의 레코드를 삭제하려면 먼저 하위 테이블(기사 테이블 등 외래 키가 있는 테이블)에서 해당 레코드를 삭제해야 하며, 그렇지 않으면 오류가 발생합니다. 테이블을 생성할 때 외래키(cate_id)가 cms_cate(id)를 참조하는 등 필드에 외래키를 설정할 수 있다. 데이터 일관성과 무결성을 보장하기 위한 외래 키 아이디어.

데이터베이스 인덱스 위치

기본값은 여기입니다(데이터베이스 설치 디렉터리 데이터의 특정 데이터베이스). sqlserver와 달리 데이터베이스 파일에는 접미사

가 있습니다. 예:

데이터 파일: myd

인덱스 파일:.MYI

테이블 정의 파일: .frm

위 내용은 mysql 인덱스는 어디에 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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