728x90
반응형
트랜잭션의 특징
- 원자성(Atomicity)
- 트랜잭션은 데이터베이스 연산의 전부가 실행되거나 전혀 실행되지 않아야 한다. (ALL OR NOTHING)
- 트랜잭션의 처리가 완전히 끝나지 않았을 경우는 실행되지 않은 상태와 같아야 한다.
- 일관성(Consistency)
- 트랜잭션 실행 결과로 데이터베이스의 상태가 모순되지 않아야 한다.
- 트랜잭션 실행 후에도 일관성이 유지되어야 한다.
- 고립성(Isolation)
- 트랜잭션 실행 중에 생성하는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다.
- 부분적인 실행 결과를 다른 트랜잭션이 볼 수 없다.
- 영속성(Durability)
- 트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 한다.
SQL 실행 순서(파싱-실행-인출)
- 파싱(Parsing)
- SQL문의 문법을 확인하고 구문 분석한다.
- 구문 분석한 SQL문은 Library Cache에 저장한다.
- 실행(Exection)
- 옵티마이저가 수립한 실행 계획에 따라 SQL을 실행한다.
- 인출(Fetch)
- 데이터를 읽어서 전송한다.
테이블변경(ALTER)
- 테이블명 변경 = ALTER TABLE ~ RENAME TO
- 칼럼 추가 = ALTER TABLE ~ ADD (칼럼명)
- 칼럼변경 = ALTER TABLE ~ MODIFY(조건)
- 칼럼삭제 = ALTER TABLE ~ DROP COLUMN (칼럼명)
- 칼럼명 변경 = ALTER TABLE ~ RENAME COLUMN ~ TO(칼럼명)
Nologging 사용(DML- INSERT문에서 사용)
- 데이터베이스에 데이터를 입력하면 로그파일에 그 정보를 기록한다.
- Check point라는 이벤트가 발생하면 로그파일의 데이터를 데이터 파일에 저장한다.
- Nologging 옵션은 로그파일의 기록을 최소화시켜서 입력 시 성능을 향상시키는 방법이다.
- Nologging 옵션은 Buffer Cache라는 메모리 영역을 생략하고 기록한다.
테이블의 모든 데이터 삭제
DELETE FROM 테이블명; | TRUNCATE TABLE 테이블명; |
- 테이블의 모든 데이터를 삭제한다. - 데이터가 삭제되어도 테이블의 용량은 감소하지 않는다. |
- 데이블의 모든 데이터를 삭제한다. - 데이터가 삭제되면 테이블의 용량은 초기화 된다. |
728x90
반응형
'DataBase' 카테고리의 다른 글
[SQLD] 데이터 모델과 성능 (0) | 2023.03.09 |
---|---|
[SQLD] 데이터모델링(Data Modeling) (0) | 2023.03.07 |
[SQL] 집계 함수(Aggregate function )/ 기본 함수와 연산 (0) | 2023.03.04 |
[SQL] LIKE 와일드카드 (0) | 2023.03.03 |
[SQL] WHERE절 (0) | 2023.03.03 |
댓글