본문 바로가기

정보관리(데이터베이스, DB)/오라클78

[Oracle] TRUNCATE, DELETE, DROP 차이, 테이블 데이터 삭제 1. 테이블 구조는 남기고 데이터 전체 삭제  - DDL  - 트랜잭션 로그에 한번만 기록되므로 성능이 DELETE보다 좋음  - ROLLBACK 불가능  - 테이블 용량이 초기화됨TRUNCATE  TABLE  [테이블명]; 2. 테이블 존재 자체를 삭제  - DDL  - 테이블 정의, 테이블에 대한 데이터, 인덱스, 트리거, 제약조건 및 권한 모두 제거DROP  TABLE  [테이블명]; 3. 조건절 이용해서 특정 행만 삭제  - DML  - 테이블 용량 감소 X  - 행 잠금(LOCK)을 사용하여 실행됨  - 삭제된 각 행에 대해 트랜잭션 로그를 기록하므로 TRUNCATE 보다 느림  - 인덱싱 된 VIEW 와 함께 사용가능  - ROLLBACK 가능DELETE  TABLE  [테이블명]WHERE  .. 2024. 9. 4.
서브쿼리 Push에 대해 알아보자 서브쿼리 Push에 대해 알아보자먼저 여기서 나오는 Push는 인라인 뷰 안에 조건절을 밀어넣는 조건절 Pushing이 아니므로 헷갈리지 말자.앞서 정리한것 처럼 서브쿼리 Unnesting 되지않은 서브쿼리는 항상 필터방식으로 진행되며 대개 실행계획상 맨 마지막에 처리된다.하지만 서브쿼리의 필터 단계에서 많은 데이터를 거를수 있다면 서브쿼리를 먼저 실행하는것이 이득일 것이다.이를 보완하는 힌트가 Push_Subq이며 No_Unnesting된 서브쿼리를 먼저 실행시킨다.원리가 그렇듯 Push_Subq는 항상 Unnesting 되지않은 서브쿼리에만 실행되므로 주의하자.예제먼저 Push_Subq를 하지않은 쿼리이다.힌트로는 no_push_subq를 사용한다. 실행 계획을보니 메인쿼리부터 순서대로 진행되며 마지.. 2024. 9. 3.
보고서 sql 문 직원 이름은 a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z 이다. 부서 이름은 T-A, T-B,T-C 이다. 부서 팀은 가, 나, 다로 나뉜다. 직책 분류는 LV1, LV2, L3, L4, L5로 나뉜다. T-A 부서의 직원은 a,b,c,d,e,f,g 이다. T-A 부서의 YK팀은 a WK팀은 b,c,d SK팀은 e,f,g이다. T-B 부서의 직원은 h,i,j,k,l,m,n,o,p,q,r 이다. T-B 부서의 YK팀은은 h,i,j WK팀은 k,l,m,n SK팀은 o,p,q,r이다. T-C 부서의 직원은 s,t,u,v,w,x,y,z 이다. T-C 부서의 YK팀은 s,t WK팀은 u,v,w SK팀은x,y,z이다. LV1은 a,b,c,d,e,f를 포함한다. LV2.. 2024. 8. 18.
간단하게 컬럼 순서 변경하기(VISIBLE 사용X) 출처: https://zluoy.tistory.com/entry/ORACLE-%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C-%EC%BB%AC%EB%9F%BC-%EC%88%9C%EC%84%9C-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0VISIBLE-%EC%82%AC%EC%9A%A9X컬럼을 나중에 추가하다보니, 컬럼 순서가 마음에 들지 않게 되는 현상이 발생했다. 그럴 때를 위해 준비했다. 컬럼 순서 마음대로 변경하기.( VISIBLE을 사용하려하니 되지 않았다. )  아래의 순서대로 DDL을 실행하게 되면, 금방 처리가 된다.  1. 테이블을 만든다.2. 기존 테이블을 지운다.3. 테이블 명을 바꾼다. CREATE TABLE TABLE_NAME AS ( SELEC.. 2024. 8. 18.
백업을 위한 스냅샷 출처: https://thekoguryo.github.io/oci/chapter08/4/ 8.4 백업을 위한 스냅샷8.4 백업을 위한 스냅샷 실행한 시간 기준으로 File System의 Snapshot을 만들 수 있습니다. 만들어진 Snapshot을 통해 파일 또는 전체를 복구할 수 있thekoguryo.github.io 실행한 시간 기준으로 File System의 Snapshot을 만들 수 있습니다. 만들어진 Snapshot을 통해 파일 또는 전체를 복구할 수 있습니다.스냅샷 #1테스트한 VM에 접속합니다.마운트된 File System에 파일 하나를 복사합니다.Copy[opc@examplelinuxinstance ~]$ cd /mnt/fss-system/[opc@examplelinuxinstance f.. 2024. 6. 11.