대용량 데이터를 다룰 때 성능 향상을 위해 사용된다.
테이블 스페이스는 테이블이 실제로 저장되는 물리적인 공간이다.
시스템 테이블 스페이스에 대한 정보
show VARIABLES like 'innodb_data_file_path';
Value : 파일명:파일크기:최대파일크기
→ 아래에 적용하면 파일명(ibdata1) : 크기(12M) : 허용하는 최대값까지 자동 증가
MySQL 8.0에서 테이블 스페이스 파일 보통 위치 - C:\Programdata\MySQL\MySQL Server 8.0\Data
확장명 꼭
.ibd
으로 한다.
show VARIABLES like 'innodb_file_per_table'; -- 결과가 on 일 때 가능하다. 기본값은 on
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; -- 테이블 생성하면서 지정
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;
만약 쿼리문이 시간이 많이 걸려서 오류가 발생한다면 설정을 바꿔서 해결하는 방법이 있다.
Edit → Preferences... → SQL Editor → MySQL Session 수정
MySQL Session 2,3번째를 0으로 변경하면 전에 설정되어 있던 시간을 초과해도 쿼리문이 실행된다.