>  기사  >  데이터 베이스  >  mysql에는 공동 인덱스가 있습니까?

mysql에는 공동 인덱스가 있습니까?

WBOY
WBOY원래의
2022-06-16 10:52:212423검색

mysql에는 조인트 인덱스가 있습니다. 조인트 인덱스는 테이블에 있는 두 개 이상의 열 필드를 인덱싱하는 것을 의미하며, 조인트 인덱스 뒤에 있는 열만 검색하는 경우 인덱스는 아무런 효과가 없습니다. 인덱스 생성 구문은 "테이블명(필드명 1, 필드명 2,...)에 인덱스 인덱스 이름 생성"입니다.

mysql에는 공동 인덱스가 있습니까?

이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.

mysql에는 공동 인덱스가 있나요?

Mysql에는 공동 인덱스가 있습니다

공동 인덱스: 복합 인덱스라고도 하며 테이블에서 두 개 이상의 열 필드를 인덱싱하는 것을 나타냅니다.

Mysql은 인덱스의 필드를 왼쪽에서 오른쪽으로 사용합니다. 쿼리는 인덱스의 일부만 사용할 수 있지만 가장 왼쪽 부분만 사용할 수 있습니다. 예를 들어, 인덱스는 a | a, b | a, b, c의 세 가지 조합으로 검색할 수 있는 키 인덱스(a,b,c)이지만 b와 c의 조합 검색은 지원하지 않습니다. 공동 인덱스 뒤의 검색 어떤 열에 대해서도 검색을 수행하면 인덱스가 적용되지 않습니다

-- 用户表
CREATE TABLE `user` (
  `id` int(4) NOT NULL COMMENT '主键ID',
  `name` varchar(4) NOT NULL COMMENT '姓名',
  `age` int(3) NOT NULL COMMENT '年龄',
  PRIMARY KEY (`id`)
)

1. 인덱스 생성

위 그림과 같이 원하는 경우 사용자 테이블을 생성했습니다. 테이블의 name 및 age 열을 검색하려면 다음 SQL을 사용하여 조인트 인덱스를 생성할 수 있습니다.

create index index_name_age on user (name,age);

조인트 인덱스 생성 구문: 테이블 이름(필드 이름 1, 필드 이름)에 인덱스 인덱스 이름을 생성합니다. 2,...)

2. 인덱스 삭제

생성된 조인트 인덱스가 적합하지 않다고 판단되면 다음 SQL을 사용하여 조인트 인덱스를 삭제할 수 있습니다.

drop index index_name_age on user;

또는 alter table table을 사용하세요. name drop index index name

alter table user drop index index_name_age;

3. 같은 이름의 인덱스가 존재하면 오류가 발생합니다.

이미 존재한다고 가정합니다. 인덱스를 다시 생성하면 다음과 같이 결합 인덱스(index_name_age)가 생성됩니다. 오류가 보고됩니다:

Query : create index index_name_age on user (name,age)
Error Code : 1061
Duplicate key name 'index_name_age'

4. 인덱스 보기

인덱스 구문 보기: 테이블 이름의 인덱스 표시

SHOW INDEX FROM USER;

권장 학습:

mysql 비디오 튜토리얼

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

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