>  기사  >  데이터 베이스  >  mysql에 인덱스를 추가하는 방법

mysql에 인덱스를 추가하는 방법

青灯夜游
青灯夜游원래의
2019-05-08 10:52:1831352검색

mysql에서 인덱스를 추가하는 방법: [CONSTRAINT PRIMARY KEY | INDEX [] [] ]과 같은 [테이블 생성] 문을 통해 추가할 수 있습니다. , 이는 일반 색인 생성을 의미합니다.

mysql에 인덱스를 추가하는 방법

mysql에서는 테이블을 생성하는 동안(CREATE TABLE) 인덱스를 생성할 수 있으며, 테이블을 생성한 후 CREATE INDEX 문 또는 ALTER TABLE 문을 사용하여 인덱스를 생성할 수도 있습니다.

(권장 동영상 튜토리얼: mysql 동영상 튜토리얼)

1. CREATE INDEX 문 사용

특히 인덱스 생성을 위해 CREATE INDEX 문을 사용하여 기존 테이블에 인덱스를 생성할 수 있지만 이 문은 사용할 수 없습니다. 기본 키를 만듭니다.

CREATE INDEX [<索引名>] ON <表名> (<列名> [<长度>] [ ASC | DESC])

구문 설명은 다음과 같습니다.

● 08b89cf114db8f2ff9639abf26d3b9de: 인덱스 이름을 지정합니다. 테이블은 여러 인덱스를 생성할 수 있지만 각 인덱스는 테이블에서 고유한 이름을 갖습니다.

● 34cd3e9c1174c81e3622d1820b4b2875: 인덱스를 생성할 테이블의 이름을 지정합니다.

● : 인덱스를 생성할 컬럼명을 지정합니다. 일반적으로 쿼리 문의 JOIN 절과 WHERE 절에 자주 나타나는 열을 인덱스 열로 사용하는 것을 고려할 수 있습니다.

● 41896d10050eaeae4e522ca1d7322455: 선택사항. 열 앞의 길이 문자를 사용하여 인덱스를 생성하도록 지정합니다. 열의 일부를 사용하여 인덱스를 생성하면 인덱스 파일의 크기를 줄이고 인덱스 열이 차지하는 공간을 절약하는 데 도움이 됩니다. 어떤 경우에는 열의 접두사만 인덱싱할 수 있습니다. 인덱스 열의 길이는 최대 255바이트(MyISAM 및 InnoDB 테이블의 경우 1000바이트)로 제한됩니다. 인덱스 열의 길이가 이 제한을 초과하는 경우 해당 열의 접두사를 통해서만 인덱싱할 수 있습니다. 또한 BLOB 또는 TEXT 유형의 열도 접두사 인덱스를 사용해야 합니다.

● ASC|DESC: 선택사항. ASC는 인덱스가 오름차순으로 정렬되도록 지정하고, DESC는 인덱스가 내림차순으로 정렬되도록 지정하며 기본값은 ASC입니다.

2. CREATE TABLE 문을 사용하세요

테이블을 생성하는 동안(CREATE TABLE) 구문 형식은 다음과 같습니다.

1. CREATE를 사용하는 경우. TABLE 문을 사용하여 열 옵션을 정의하는 경우 열 정의 바로 뒤에 PRIMARY KEY를 추가하여 기본 키를 생성할 수 있습니다. 기본 키가 여러 열로 구성된 다중 열 인덱스인 경우 이 방법을 사용할 수 없으며 명령문 끝에 PRIMARY KRY(,...) 절을 추가해야만 구현할 수 있습니다. .

2. 일반 인덱스 생성

CONSTRAINT PRIMARY KEY [索引类型] (<列名>,…)

3. 고유 인덱스 생성

 KEY | INDEX [<索引名>] [<索引类型>] (<列名>,…)

4. 외래 키 인덱스 생성

UNIQUE [ INDEX | KEY] [<索引名>] [<索引类型>] (<列名>,…)

예제 1:

테이블 tb_stu_info를 생성하고 높이 필드에 일반 인덱스를 생성합니다. 테이블.

FOREIGN KEY <索引名> <列名>
예제 2: tb_stu_info2 테이블을 생성하고 테이블의 id 필드에 UNIQUE 키워드를 사용하여 고유 인덱스를 생성합니다.

mysql> CREATE TABLE tb_stu_info
    -> (
    -> id INT NOT NULL,
    -> name CHAR(45) DEFAULT NULL,
    -> dept_id INT DEFAULT NULL,
    -> age INT DEFAULT NULL,
    -> height INT DEFAULT NULL,
    -> INDEX(height)
    -> );

3. ALTER TABLE 문 사용
ALTER TABLE 문을 사용하여 테이블을 수정하는 동안 기존 테이블에 인덱스를 추가할 수 있습니다. 구체적인 방법은 다음 구문 구성 요소 중 하나 이상을 ALTER TABLE 문에 추가하는 것입니다.

1. 기본 키 인덱스 생성

mysql> CREATE TABLE tb_stu_info2
    -> (
    -> id INT NOT NULL,
    -> name CHAR(45) DEFAULT NULL,
    -> dept_id INT DEFAULT NULL,
    -> age INT DEFAULT NULL,
    -> height INT DEFAULT NULL,
    -> UNIQUE INDEX(id)
    -> );

2. 일반 인덱스 생성

ADD PRIMARY KEY [<索引类型>] (<列名>,…)

3. 고유 인덱스 생성

ADD INDEX [<索引名>] [<索引类型>] (<列名>,…)

4. 예시 1:

테이블 생성 후 , 테이블에서 id 필드에 UNIQUE 키워드를 사용하여 고유 인덱스를 생성합니다.

ADD UNIQUE [ INDEX | KEY] [<索引名>] [<索引类型>] (<列名>,…)

4. 인덱스 정보 표시

SHOW INDEX 명령을 사용하여 테이블에 관련 인덱스 정보를 나열합니다. 출력 정보는 G를 추가하여 형식화할 수 있습니다. 예:

ADD FOREIGN KEY [<索引名>] (<列名>,…)

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

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