728x90
반응형
1. 테이블스페이스(oracle)
◎ 테이블스페이스의 개념
▷ 물리적인 공간을 뜻함
▷ 데이터베이스는 논리적 공간
▷ 테이블스페이스를 지정하지 않은 경우
▶ 시스템 테이블스페이스(System Tablespace)에 테이블 저장됨
▷ 시스템 변수 innodb_data_file_path에 관련 내용 저장됨
▷ 시스템 테이블 스페이스 파일 확인
▶ MySQL 8.0에서 테이블스 페이스 파일은 기본적으로 ‘C:\Programdata\MySQL\MySQL Server 8.0\Data’ 폴더에 저장 되어 있음
◎ 성능 향상을 위한 테이블스페이스 추가
▷ 소용량의 데이트를 사용하는 경우에는 테이블스페이스 고려하지 않아도 되나 대용량의 데이터를 운영할 경우에는
성능 향상을 위해 테이블스페이스의 분리를 적극 고려
◎ 테이블 스페이스 예시
1. 테이블 스페이스 설정 확인
show variables like 'innodb_data_file_path'; -- innodb_data_file_path ibdata1:12M:autoextend 반환 -- --------------------------- -- 테이블 스페이스 : 대용량 데이터 운영시 -- 별도의 테이블 스페이스 저장이 되도록 설정되어 있는지 확인 : ON show variables like 'innodb_file_per_table'; -- innodb_file_per_table ON
2. 테이블 스페이스 생성-- 테이블 스페이스 확장명 .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';
▷ 폴더 생성 확인
3. 테이블 스페이스 연결
-- 테이블 스페이스 연결 (테이블을 테이블 스페이스 파일에 연결) 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; drop table table_c; -- 테이블 생성시 대용량 데이터를 입력, 테이블 스페이스 연결 create table table_c (select * from employees.salaries); alter table table_c tablespace ts_c;
MySQL에서는 쿼리 응답 시간에 제한이 있습니다. 따라서 이 제한을 없애주어야합니다.
Workbench 메뉴의 [Edit] >> [Preferences]를 선택하여 아래와 같이 진행하면 테이블 생성시 많은 양의 데이터를 받아주어도 문제 없이 진행됩니다.
테이블 스페이스는 대용량의 데이터를 다룰 때 성능 향상을 위해서 테이블 분리를 하기 위해서 사용합니다.
DB에서 많은 용량을 다루기 위해서 테이블 스페이스를 잘 다루어야할 것 같아요!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
728x90
반응형
'BackEnd > DB(SQL)' 카테고리의 다른 글
[DB_MySQL] 이것이 MySQL이다 ch10 스토어드 프로그램 1(스토어드 프로시저, Stored Procedure) (0) | 2023.02.10 |
---|---|
[DB_MySQL] 이것이 MySQL이다 ch09 인덱스 1(클러스터형 인덱스, 보조 인덱스) (0) | 2023.02.09 |
[DB_MySQL] 이것이 MySQL이다 ch08 테이블과 뷰 2(뷰, view) (0) | 2023.02.09 |
[DB_MySQL] 이것이 MySQL이다 ch08 테이블과 뷰 1-1(테이블 제약 조건 및 수정 방법 실습) (0) | 2023.02.09 |
[DB_MySQL] 이것이 MySQL이다 ch08 테이블과 뷰 1(테이블 생성, 기본키, 외부키) (0) | 2023.02.08 |