Loading...
MySQL 9.5 Reference Manual 9.5의 18.1 Setting the Storage Engine의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
새 테이블을 생성할 때, CREATE TABLE 구문에
ENGINE 테이블 옵션을 추가하여 어떤 스토리지 엔진을
사용할지 지정할 수 있습니다:
1-- 기본 스토리지 엔진을 다른 것으로 설정해 두지 않았다면 2-- ENGINE=INNODB는 필요하지 않습니다. 3CREATE TABLE t1 (i INT) ENGINE = INNODB; 4-- 간단한 테이블 정의는 서로 다른 것들 간에 전환할 수 있습니다. 5CREATE TABLE t2 (i INT) ENGINE = CSV; 6CREATE TABLE t3 (i INT) ENGINE = MEMORY;
ENGINE 옵션을 생략하면, 기본 스토리지 엔진이
사용됩니다. MySQL 9.5에서 기본 엔진은
InnoDB입니다.
기본 엔진은
--default-storage-engine 서버
시작 옵션을 사용하거나,
my.cnf 설정 파일에서
default-storage-engine 옵션을
설정하여 지정할 수 있습니다.
현재 세션에 대한 기본 스토리지 엔진은
default_storage_engine 변수를
설정하여 지정할 수 있습니다:
1SET default_storage_engine=NDBCLUSTER;
CREATE TEMPORARY TABLE로 생성되는
TEMPORARY 테이블의 스토리지 엔진은
default_tmp_storage_engine을
서버 시작 시 또는 런타임에 설정하여
영구 테이블의 엔진과 별도로 지정할 수 있습니다.
테이블을 하나의 스토리지 엔진에서 다른 스토리지 엔진으로
변환하려면, 새로운 엔진을 지정하는
ALTER TABLE 구문을 사용합니다:
1ALTER TABLE t ENGINE = InnoDB;
Section 15.1.24, “CREATE TABLE Statement” 및 Section 15.1.11, “ALTER TABLE Statement”를 참조하십시오.
컴파일되지 않았거나 컴파일되었지만 비활성화된
스토리지 엔진을 사용하려고 하면, MySQL은 대신
기본 스토리지 엔진을 사용하여 테이블을 생성합니다.
예를 들어, 복제 구성이 되어 있을 때
소스 서버는 최대한의 안정성을 위해
InnoDB 테이블을 사용하지만,
레플리카 서버는 내구성이나 동시성 대신
속도를 위해 다른 스토리지 엔진을 사용할 수도 있습니다.
기본적으로,
CREATE TABLE 또는
ALTER TABLE이
기본 스토리지 엔진을 사용할 수 없을 때마다
경고가 생성됩니다. 원하는 엔진을 사용할 수 없을 때
혼동을 주는 의도치 않은 동작을 방지하려면,
NO_ENGINE_SUBSTITUTION SQL 모드를
활성화하십시오.
원하는 엔진을 사용할 수 없으면 이 설정은
경고 대신 오류를 발생시키며,
테이블은 생성되거나 변경되지 않습니다.
Section 7.1.11, “Server SQL Modes”를
참조하십시오.
MySQL은 스토리지 엔진에 따라 테이블의 인덱스와 데이터를 하나 또는 그 이상의 다른 파일에 저장할 수 있습니다. 테이블과 컬럼 정의는 MySQL 데이터 딕셔너리에 저장됩니다. 각 스토리지 엔진은 자신이 관리하는 테이블에 필요한 추가 파일을 개별적으로 생성합니다. 테이블 이름에 특수 문자가 포함되어 있으면, 해당 테이블 파일 이름에는 Section 11.2.4, “Mapping of Identifiers to File Names”에 설명된 대로 그 문자들의 인코딩된 버전이 포함됩니다.
18 Alternative Storage Engines
18.2 The MyISAM Storage Engine