MySQL

테이블 스페이스.MySQL

john_ 2023. 2. 9. 14:25
728x90

테이블 스페이스의 개념

  • 물리적인 공간을 뜻함
  • 데이터베이스는 논리적 공간
  • 테이블스페이스를 지정하지 않은 경우
    • 시스템 테이블스페이스(system tablespace)에 테이블 저장됩니다.
  • 시스템 변수 innodb_data_file_path에 관련 내용이 저장됩니다.

 


show variables like 'innodb_data_file_path';

-- -----------------------------
-- 테이블 스페이스 : 대용량 데이터 운영시

-- 별도의 테이블 스페이스 저장이 되도록 설정 되어 있는지 확인 : ON
show variables like 'innodb_file_per_table';

-- 테이블 스페이스 확장명 .ibd;
create tablespace ts_a add datafile 'ts_a.ibd';
create tablespace ts_b add datafile 'ts_b.ibd';
create tablespace ts_c add datafile 'ts_c.ibd';

-- 테이블 스페이스 연결 (테이블을 테이블 스페이스 파일에 연결)
use sqldb;

-- 테이블 생성시 테이블 스페이스에 연결
create table table_a (id int)
	tablespace ts_a;		-- 시스템 테이블 스페이스에 저장이 되지 않고 별도의 ts_a라는 테이블 스페이스에 별도로 저장
    
-- 테이블을 먼저 생성후 테이블 스페이스에 연결
create table table_b (id int);
alter table table_b tablespace ts_b;

-- 테이블 생성시 대용량 데이터를 입력, 테이블 스페이스 연결
create table table_c (select * from employees.salaries);
alter table table_c tablespace ts_c;
728x90

'MySQL' 카테고리의 다른 글

인덱스의 내부 작동.MySQL  (0) 2023.02.09
인덱스(Index).MySQL  (0) 2023.02.09
뷰(View)의 개념.MySQL  (0) 2023.02.09
테이블(Table).MySQL  (0) 2023.02.08
제약 조건.MySQL  (0) 2023.02.08