>  기사  >  데이터 베이스  >  MySQL 테이블 생성에서 INDEX와 KEY의 차이점은 무엇입니까?

MySQL 테이블 생성에서 INDEX와 KEY의 차이점은 무엇입니까?

DDD
DDD원래의
2024-11-26 05:03:10187검색

What's the Difference Between INDEX and KEY in MySQL Table Creation?

MySQL에서 INDEX와 KEY의 동등성 이해

MySQL에서 테이블을 생성할 때 데이터 인덱싱을 나타내는 두 가지 용어인 INDEX와 KEY를 접할 수 있습니다. 두 용어는 모두 동일한 목적을 가지고 있지만 사용법에는 미묘한 차이가 있습니다.

INDEX 및 KEY의 정의

  • INDEX: 쿼리 속도를 높이고 데이터 검색을 개선하는 데 사용되는 고유하지 않은 인덱스 효율성.
  • KEY: INDEX의 동의어입니다. 이는 다른 데이터베이스 시스템과의 호환성을 위해 MySQL에서 도입되었습니다.

Create Table 문에서의 사용

Create Table 문에서는 INDEX 또는 KEY를 교대로 사용할 수 있습니다. . 예를 들어 다음 두 문은 동일합니다.

CREATE TABLE tasks (
    task_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    parent_id INT UNSIGNED NOT NULL DEFAULT 0,
    task VARCHAR(100) NOT NULL,
    PRIMARY KEY (task_id),
    INDEX parent (parent_id)
);

CREATE TABLE orders (
    order_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    KEY order_date (order_date)
);

고유 인덱스와 비고유 인덱스

INDEX와 KEY 모두 비고유 인덱스를 생성할 수 있지만, PRIMARY KEY는 정의상 고유하다는 점에 유의하는 것이 중요합니다. 이는 PRIMARY KEY 열의 값이 테이블의 각 행을 고유하게 식별함을 의미합니다. 반면 INDEX와 KEY는 중복 값을 허용합니다.

기본 키를 KEY로

MySQL에서는 KEY 키워드를 사용하여 PRIMARY KEY를 정의할 수 있습니다. 그러나 혼동을 피하기 위해 PRIMARY KEY 키워드를 명시적으로 사용하는 것이 좋습니다. 예를 들면 다음과 같습니다.

CREATE TABLE customers (
    customer_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    PRIMARY KEY (customer_id)
);

권장 사항

KEY와 INDEX는 MySQL에서 동의어이지만 일반적으로 ISO SQL 표준에 부합하고 성능을 향상시키므로 INDEX를 사용하는 것이 좋습니다. 휴대성이 뛰어납니다.

위 내용은 MySQL 테이블 생성에서 INDEX와 KEY의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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