>  기사  >  데이터 베이스  >  MySQL 인덱스 사용

MySQL 인덱스 사용

黄舟
黄舟원래의
2017-02-06 10:23:091258검색

1.1 인덱스 생성
 1.1.1 기본 키 인덱스 생성
테이블 생성 시 기본 키 인덱스를 생성
 

create table aaa(id int primary key,name varchar(64) not null default ”);

테이블을 먼저 생성한 후 기본 키 인덱스를 생성
 

create table aaa(id int,name varchar(64) not null default ”);
  alter table aaa add primary key(id);

기본 키 인덱스의 특징
1) 테이블은 최대 하나의 기본 키만 가질 수 있습니다.
2) 하나의 기본 키는 여러 열을 가리킬 수 있습니다(복합 기본 키) )
3) 기본 키 인덱스가 가장 효율적이므로 id를 주어야 합니다. 일반적으로 id는 자동 증가합니다
 4) 기본 키 인덱스의 열은 반복될 수 없으며 null이 될 수 없습니다
 1.1.2 고유 인덱스 생성은 테이블 생성 시 특정 컬럼 또는 컬럼을 직접 지정하는 고유 인덱스 여러 컬럼
 

mysql> create table aaa(id int,name varchar(64) not null default ”,email varchar(64) not null default ” unique);

테이블 생성 후 고유 인덱스 생성

1)mysql> create unique index uni_name on aaa (name);
  2)mysql> alter table aaa add unique (email);

고유 인덱스의 특징
1) 테이블에는 여러 개의 고유 인덱스가 있을 수 있다
 2) 고유 인덱스는 중복될 수 없지만 not null을 지정하지 않으면, 고유 인덱스는 null일 수 있고 여러 개가 있을 수 있습니다.
3) 고유 인덱스는 언제 사용하나요? 특정 열의 데이터가 반복되지 않을 때만 사용할 수 있습니다
4) 고유 인덱스도 매우 효율적이므로 먼저 사용하는 것을 고려해 볼 수 있습니다
1.1.3 일반 인덱스는 생성 시 직접 생성한다. 테이블 생성 시 컬럼 또는 컬럼을 공통 인덱스로 지정
 

mysql> create table aaa(id int,name varchar(64) not null default ”,namevarchar(64) not null default ” index);

테이블 생성 후 공통 인덱스 생성

 1)mysql> create index ind_name on aaa (name);
  2)mysql> alter table aaa add index(name);

특징
1) 한 테이블에 여러 개의 일반 인덱스가 있을 수 있고, 하나의 일반 인덱스가 여러 컬럼을 가리킬 수도 있습니다
2) 일반 인덱스 컬럼의 데이터가 반복될 수 있습니다
3) 효율성이 상대적으로 낮다
1.1.4 전문 색인 생성
개요 : 전문 색인은 기사, 한자, 영어에 대한 색인으로, 검색어에 있는 키워드를 빠르게 검색할 수 있다. 기사

CREATE TABLE articles (
  id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
  title VARCHAR(200),
  body TEXT,
  FULLTEXT (title,body)
  ) engine myisam charset=utf8;

사용: match(body) against('weather')가 있는 기사에서 * 선택;
기능
1) Mysql의 기본 전체 텍스트 인덱스, 유효 myisam 스토리지 엔진의 경우
2) Mysql의 기본 전체 텍스트 인덱스는 영어만 지원합니다.
3) 중지 단어: 특히 일반적인 문자의 경우 인덱스가 생성되지 않습니다.
4) 일치 정도: 전체 텍스트 특정 확률에 따라 인덱스가 매칭됩니다.
mysql의 전체 텍스트 인덱스가 중국어를 지원하지 않는 문제 해결 방법
1) mysql용 중국어 검색 플러그인 mysqlcft를 사용합니다.
2) 중국어 전문 검색 엔진인 스핑크스 중국어 버전을 사용할 수 있습니다( coreseek) 1.2 인덱스 쿼리
설명 테이블 이름
테이블 이름 G의 키 표시
테이블 이름 G의 인덱스 표시
테이블 이름 G의 인덱스 표시
1.3 인덱스 수정
먼저 삭제하고 add
1.4 인덱스 삭제
DROP INDEX 인덱스 이름 ON table;
ALTERTABLE 테이블 이름 DROP INDEX 인덱스 이름
1.6 인덱스에 대한 주의 사항 쿼리 조건으로 자주 사용되는 필드는 인덱스를 생성하지 않아야 합니다. 고유성이 좋지 않으면 인덱스를 생성하지 않아야 합니다. 쿼리 조건으로 자주 사용하더라도 인덱스를 별도로 생성하는 것이 적합하며, 자주 업데이트되는 필드는 인덱스 생성에 적합하지 않습니다.

위는 MySQL 인덱스 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


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