Oracle 표 압축 (표 압축) 기술 소개
1. 공식 문서 에 따 르 면 데이터베이스 크기 가 커지 면 테이블 압축 을 사용 하 는 것 이 좋 습 니 다. 압축 은 디스크 공간 을 절약 하고 데이터베이스 버퍼 캐 시 에서 메모리 사용 을 줄 이 며 읽 는 동안 쿼 리 실행 속 도 를 크게 높 일 수 있 습 니 다. 압축 은 데이터 로드 와 DML 을 위 한 CPU 오 버 헤드 비용 이 듭 니 다. this cost might be offset by reduced I/O requirements
데이터 베이스 가 계속 증가 함 에 따라 표 압축 을 고려 할 수 있다.압축 은 디스크 공간 을 절약 하고 데이터베이스 buffer cache 메모리 사용 을 줄 이 며 조 회 를 가속 화 할 수 있 습 니 다.압축 은 데이터 마 운 트 와 DML 작업 에 일정한 CPU 소모 가 있 습 니 다.그러나 이런 소 모 는 I / O 의 감 소 를 상쇄 할 수 있다.
Table compression is completely transparent to applications. It is useful in decision support systems (DSS), online transaction processing (OLTP) systems, and archival systems.
표 압축 은 응용 프로그램 에 완전히 투명 합 니 다.DSS 시스템, 온라인 사무 처리, 압축 파일 시스템 에 모두 유용 하 다.
You can specify compression for a tablespace, a table, or a partition. If specified at the tablespace level, then all tables created in that tablespace are compressed by default.
표 공간, 표 또는 파 티 션 에 압축 을 지정 할 수 있 습 니 다.표 공간 기본 으로 지정 하면 이 표 공간의 모든 표 가 생 성 된 후 기본적으로 압축 을 사용 합 니 다.
Compression can occur while data is being inserted, updated, or bulk loaded into a table. Operations that permit compression include: 압축 은 데이터 삽입, 업데이트 또는 일괄 불 러 올 수 있 습 니 다.압축 표 는 다음 작업 을 허용 합 니 다: Single - row or array inserts and updates 한 줄 또는 여러 줄 삽입 및 업데이트
다음 direct - path INSERT 메 서 드: 직접 경로 삽입 방법:
Direct path SQL*Loader 1)CREATE TABLE AS SELECT statements 2)Parallel INSERT statements 3)INSERT statements with an APPEND or APPEND_VALUES hint
지금까지 Oracle 데이터 베 이 스 는 모두 4 가지 표 압축 기술 이 있다. 1) Basic compression 2) OLTP compression 3) Warehouse compression (Hybrid Columnar Compression) 4) Archive compression (Hybrid Columnar Compression)
여기 서 나 는 주로 기본 압축 을 소개 한다.
2. 기본 압축 특징: 1) 기본 압축 을 사용 하고 데이터 가 직접 경로 로 기록 (direct - path insert and updated) 을 삽입 하거나 업데이트 할 때 만 압축 이 발생 합 니 다.또한 유선 데이터 형식 과 SQL 작업 을 지원 합 니 다.
3. 기본 압축 을 어떻게 사용 합 니까?1) create table 문 구 를 통 해 copress 조건 을 지정 합 니 다.2) alter table 을 통 해.. compress;기 존 테이블 에 압축 사용 하기;3) alter table.. nocompress 를 통 해;시계 압축 을 사용 하지 않 습 니 다.
4. 기본 압축 에 관 한 예 4.1 압축 표 만 들 기
CREATE TABLE emp_comp compress
AS
SELECT * FROM emp
WHERE 1=2;
4.2 데이터 사전 을 통 해 압축 표 상 태 를 본다.
SCOTT@orcl> SELECT table_name, compression, compress_for
2 FROM user_tables
3 WHERE table_name='EMP_COMP';
TABLE_NAME COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
EMP_COMP ENABLED BASIC
4.3 비 직접 경 로 를 통 해 데 이 터 를 삽입 합 니 다.
SCOTT@orcl> INSERT INTO emp_comp
2 SELECT * FROM emp;
16 。
SCOTT@orcl> commit;
--
SYS@orcl> exec show_space('EMP_COMP','SCOTT');
Unformatted Blocks .................... 0
FS1 Blocks (0-25) .................... 0
FS2 Blocks (25-50) .................... 0
FS3 Blocks (50-75) .................... 0
FS4 Blocks (75-100) .................... 5
Full Blocks .................... 0
Total Blocks ........................... 8
Total Bytes ........................... 65,536
Total MBytes ........................... 0
Unused Blocks........................... 0
Unused Bytes ........................... 0
Last Used Ext FileId.................... 4
Last Used Ext BlockId................... 14,304
Last Used Block......................... 8
-- emp
SYS@orcl> exec show_space('EMP','SCOTT');
Unformatted Blocks .................... 0
FS1 Blocks (0-25) .................... 0
FS2 Blocks (25-50) .................... 0
FS3 Blocks (50-75) .................... 0
FS4 Blocks (75-100) .................... 5
Full Blocks .................... 0
Total Blocks ........................... 8
Total Bytes ........................... 65,536
Total MBytes ........................... 0
Unused Blocks........................... 0
Unused Bytes ........................... 0
Last Used Ext FileId.................... 4
Last Used Ext BlockId................... 144
Last Used Block......................... 8
-- EMP ,emp_comp 。
주: show 에 대하 여space 프로 세 스 의 용법, 참고 하 세 요 [http://blog.csdn.net/indexman/article/details/47207987】
4.4 직접 경 로 를 통 해 데 이 터 를 삽입 합 니 다.
drop table emp_comp purge;
CREATE TABLE emp_comp compress
AS
SELECT * FROM emp
WHERE 1=2;
insert /*+ append */ into emp_comp
select *
from emp;
--
SYS@orcl> exec show_space('EMP_COMP','SCOTT');
Unformatted Blocks .................... 0
FS1 Blocks (0-25) .................... 0
FS2 Blocks (25-50) .................... 0
FS3 Blocks (50-75) .................... 0
FS4 Blocks (75-100) .................... 0
Full Blocks .................... 1
Total Blocks ........................... 8
Total Bytes ........................... 65,536
Total MBytes ........................... 0
Unused Blocks........................... 4
Unused Bytes ........................... 32,768
Last Used Ext FileId.................... 4
Last Used Ext BlockId................... 14,304
Last Used Block......................... 4
-- 4
4.5 시계 압축 사용 안 함
SCOTT@orcl> alter table emp_comp NOCOMPRESS;
。
SCOTT@orcl> SELECT table_name, compression, compress_for
2 FROM user_tables
3 WHERE table_name='EMP_COMP'
4 ;
TABLE_NAME COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
EMP_COMP DISABLED
4.6 테이블 압축 사용 하기
SCOTT@orcl> alter table emp_comp COMPRESS;
。
SCOTT@orcl> SELECT table_name, compression, compress_for
2 FROM user_tables
3 WHERE table_name='EMP_COMP';
TABLE_NAME COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
EMP_COMP ENABLED BASIC
5. 마지막 으로 다음 표 압축 의 몇 가지 사용 제한 을 살 펴 보 겠 습 니 다. 1) 기본 압축 에 대해 압축 표 에 기본 값 을 가 진 열 을 추가 할 수 없습니다.
SCOTT@orcl> alter table emp_comp add remark varchar2(200) default 'null';
alter table emp_comp add remark varchar2(200) default 'null'
*
1 :
ORA-39726: /
2) 압축 표 의 열 을 삭제 할 수 없습니다:
SCOTT@orcl> alter table emp_comp drop column ename;
alter table emp_comp drop column ename
*
1 :
ORA-39726: /
3) 표 압축 은 선분 수축 (Online segment shrink) 지원 되 지 않 습 니 다. 4) SecureFiles large objects 지원 되 지 않 습 니 다. 5) 압축 표 생 성 시 기본적으로 PCT 를 설정 합 니 다.FREE 는 0;니 가 직접 지정 하지 않 는 한
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Oracle 생성 향후 3일간의 전체 시점 (단계 상세)수요: X 좌표축 시간은 모두 정시 시간으로 앞으로 3일 동안의 예측을 보여준다(x 축은 앞으로 3일 동안의 정시 시간을 보여준다), 3시간마다 한 눈금, 가로 좌표는 모두 24개의 눈금을 보여준다 1단계: 현재 시...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.