Loading...
MySQL 9.5 Reference Manual 9.5의 15.1.38 DROP TABLESPACE Statement의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
1DROP [UNDO] TABLESPACE tablespace_name
이 statement는 이전에 CREATE TABLESPACE를 사용하여 생성된 테이블스페이스를 드롭합니다. 이 statement는 NDB 및
InnoDB 스토리지 엔진에서 지원됩니다.
undo 테이블스페이스를 드롭하려면 UNDO 키워드를 지정해야 합니다. CREATE UNDO TABLESPACE 구문을 사용하여 생성된 undo 테이블스페이스만 드롭할 수 있습니다. undo 테이블스페이스는 드롭되기 전에 empty 상태여야 합니다. 더 많은 정보는
Section 17.6.3.4, “Undo Tablespaces”를 참조하십시오.
tablespace_name은 MySQL에서 대소문자를 구분하는 식별자입니다.
InnoDB 일반 테이블스페이스의 경우, DROP TABLESPACE 작업을 수행하기 전에 테이블스페이스에 있는 모든 테이블을 드롭해야 합니다. 테이블스페이스가 비어 있지 않으면
DROP TABLESPACE는 에러를 반환합니다.
드롭하려는 NDB 테이블스페이스에는 어떤 데이터 파일도 포함되어 있지 않아야 합니다. 다시 말해, NDB 테이블스페이스를 드롭하기 전에
ALTER TABLESPACE ... DROP DATAFILE를 사용하여 해당 데이터 파일 각각을 먼저 드롭해야 합니다.
일반 InnoDB 테이블스페이스는 테이블스페이스 내의 마지막 테이블이 드롭되더라도 자동으로 삭제되지 않습니다. 테이블스페이스는 DROP TABLESPACE tablespace_name을 사용하여 명시적으로 드롭해야 합니다.
DROP DATABASE 연산은 일반 테이블스페이스에 속한 테이블을 드롭할 수 있지만, 해당 연산이 테이블스페이스에 속한 모든 테이블을 드롭하더라도 테이블스페이스 자체는 드롭할 수 없습니다. 테이블스페이스는 DROP TABLESPACE tablespace_name을 사용하여 명시적으로 드롭해야 합니다.
시스템 테이블스페이스와 마찬가지로, 일반 테이블스페이스에 저장된 테이블을 잘라내기(truncate)하거나 드롭하면 일반 테이블스페이스
.ibd 데이터 파일 내부에 여유 공간이 생성되며, 이 공간은 새로운 InnoDB 데이터에만 사용할 수 있습니다. 이 공간은 파일별-테이블 테이블스페이스의 경우처럼 운영 체제에 다시 반환되지 않습니다.
다음 예시는 InnoDB 일반 테이블스페이스를 드롭하는 방법을 보여 줍니다. 일반 테이블스페이스 ts1은 하나의 테이블과 함께 생성됩니다. 테이블스페이스를 드롭하기 전에 테이블을 드롭해야 합니다.
1mysql> CREATE TABLESPACE `ts1` ADD DATAFILE 'ts1.ibd' Engine=InnoDB; 2 3mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY) TABLESPACE ts1 Engine=InnoDB; 4 5mysql> DROP TABLE t1; 6 7mysql> DROP TABLESPACE ts1;
다음 예시는 undo 테이블스페이스를 드롭하는 방법을 보여 줍니다. undo 테이블스페이스는 드롭되기 전에 empty 상태여야 합니다. 더 많은 정보는
Section 17.6.3.4, “Undo Tablespaces”를 참조하십시오.
1mysql> DROP UNDO TABLESPACE undo_003;
다음 예시는 로그 파일 그룹 mylg가 존재한다고 가정하고 (자세한 내용은
Section 15.1.20, “CREATE LOGFILE GROUP Statement”을 참조), 데이터 파일 이름이
mydata-1.dat인 데이터 파일을 가진 NDB
테이블스페이스 myts를 드롭하는 방법을 보여 줍니다.
1mysql> CREATE TABLESPACE myts 2 -> ADD DATAFILE 'mydata-1.dat' 3 -> USE LOGFILE GROUP mylg 4 -> ENGINE=NDB;
테이블스페이스를 드롭하기 전에, 다음과 같이
ALTER TABLESPACE를 사용해서 테이블스페이스에서 모든 데이터 파일을 제거해야 합니다.
1mysql> ALTER TABLESPACE myts 2 -> DROP DATAFILE 'mydata-1.dat'; 3 4mysql> DROP TABLESPACE myts;
15.1.37 DROP TABLE Statement
15.1.39 DROP TRIGGER Statement