>  기사  >  데이터 베이스  >  MySQL 고급 인덱스

MySQL 고급 인덱스

高洛峰
高洛峰원래의
2016-12-02 13:44:591020검색

인덱스: 데이터용으로 생성된 디렉터리입니다.

기능: 쿼리 속도를 높일 수 있습니다

부정적 영향: 추가, 삭제, 수정 속도를 감소시킵니다.


인덱스 생성 원칙:

1: 과도한 인덱스를 사용하지 마세요.

2: 가장 빈번한 where 조건이 있는 열에 추가하지 마세요. 반복률이 높은 열에 추가하세요. 예를 들어 성별: 남성 또는 여성

3: 해시 값을 색인화해 보세요. 너무 집중된 값을 색인화하는 것은 별 의미가 없습니다.

인덱스 종류

일반 인덱스: 쿼리 속도를 높이기 위한 인덱스입니다.

고유 인덱스: 고유 인덱스 행의 값은 반복될 수 없습니다

기본 키 인덱스: 기본 키는 반복될 수 없습니다.

기본 키는 고유해야 하지만, 고유 인덱스가 반드시 기본 키일 필요는 없습니다.

테이블에는 기본 키가 하나만 있을 수 있습니다. , 그러나 하나 이상의 고유 인덱스를 사용할 수 있습니다.

전체 텍스트 인덱스: 전체 텍스트 인덱스는 mysql에서 기본값입니다. 이 경우 일반적으로 타사 솔루션에서는 의미가 없습니다

을 사용하는 이유는 영어에는 공백과 구두점이 있어서 이를 단어로 분리한 다음 단어를 색인화하기 때문입니다.

중국어의 경우 단어를 구분하는 공백이 없고 mysql에서는 각 단어를 인식할 수 없습니다. 중국어 단어. ) 전체 텍스트 인덱스는 this, is, you, my 등과 같이 매우 자주 사용되는 단어를 인덱스하지 않습니다.

인덱스 길이: 열 부분 내용을 인덱스로 지정

다중 열 인덱스: 2개 이상의 열 값을 하나로 묶어 인덱스로 사용합니다. 영어 웹사이트에서는 이름과 성을 하나로 취급하는데, 이때 where 조건에서는 이름만 역할을 할 수 있고 성은 역할을 하지 않습니다.

중복 인덱스: 특정 열에 인덱스가 여러 개 있습니다. 예를 들어 위의 성에 인덱스를 다시 생성합니다.

MySQL 고급 인덱스인덱스 생성

테이블 생성 시, 즉 컬럼 뒤에 인덱스를 직접 선언할 수 있습니다. 선언이 완료되면 Index를 선언합니다.MySQL 고급 인덱스

예:

create table test5 (

id int,

username varchar(20),

학교 varchar(20),

소개 텍스트,

기본 키(id),

고유(사용자 이름),

색인(학교 ),

fulltext (소개)

)engine myisam charset utf8;

테이블의 모든 인덱스 보기

인덱스 표시 테이블 이름에서

인덱스 생성

테이블 테이블 이름 변경 add index /unique/fulltext [인덱스 이름](열 이름)

테이블 테이블 변경 name add 기본 키(컬럼 이름) // 기본 키가 하나만 있으므로 인덱스 이름을 추가하지 않습니다.

Delete add index

기본 키가 아닌 삭제 인덱스: 테이블 테이블 이름 변경/인덱스 추가 인덱스 이름;

기본 키 삭제: 테이블 테이블 이름 변경 기본 키 삭제/추가

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