본문 바로가기
반응형

db9

[lesson] DBMS - Optimizer / HINT SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로(최저비용)를 생성해주는 DBMS 내부의 핵심엔진입니다. 사용자가 쿼리문으로 결과를 요청하면, 이를 생성하는데 필요한 처리경로는 DBMS에 내장된 OPTIMIZER가 자동으로 생성하게 됩니다. 여기서 OPTIMIZER가 생성한 SQL처리 경로를 실행계획이라고 합니다. 1. 사용자가 작성한 쿼리 수행을 위해, 실행될 만한 실행 계획을 찾습니다. 2. 데이터 딕셔너리에 미리 수집해 놓은 오브젝트 통계 및 시스템 통계 정보를 이용하여 각 실행 계획의 예상비용을 산정합니다. 3. 각 실행 계획의 예상비용을 산정합니다. 4. 각 실행 계획을 비교해서 최저 비용을 갖는 하나를 선택하여 실행합니다. 1. 규칙기반 옵티마이저( RBO - RULE BASED OPT.. 2021. 8. 21.
[lesson] DBMS - 파생 문법 2탄 (SQL 실행순서, SEQUENCE, SUB-QUERY, ROWNUM) ★Point! SQL 실행순서 FROM> WHERE> GROUP BY > HAVING > SELECT > ORDER BY -- 시퀀스 선언 ( 2번줄만 작성하면 나머지 설정은 DEFAULT로 들어가진다. 시작숫자,증감 모두 1로 설정) CREATE SEQUENCE SEQ --시퀀스이름 SEQ INCREMENT BY 1 --증감숫자 1 START WITH 1 --시작숫자 1 MINVALUE 1 --최소값 1 MAXVALUE 1000 --최대값 1000 -- 시퀀스 사용 예제 INSERT INTO E_TABLE NUM VALUES(SEQ.NEXTVAL); 서브쿼리는 어디 절에서 사용하느냐에 따라 이름을 다르게 부릅니다. (기본은 동일하게 쿼리 안에 쿼리가 더해지는것으로 보면 됩니다.) 1. FROM절 : I.. 2021. 8. 12.
[lesson] DBMS - 파생 문법 1탄 (문자연결, LIKE, DUAL, 집계함수, GROUP BY, ALIAS, ORDER BY) 정의되지 않은 값. 빈 값 대신 미정 값을 부여할 때 사용 PK는 불가능, FK 가능, UK 가능 ALTER TABLE 테이블명 MODIFY 컬럼명 NOT NULL; ALTER TABLE 테이블명 MODIFY 컬럼명 DEFAULT 초기값; ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건 이름; NVL(컬럼명, '값') : NULL 닶 대신 다른 값으로 변경 후 검색 NVL2(컬럼명, 'NULL이 아닐 때 값, 'NULL일 때 값') : NULL일 때의 값, NULL이 아닐때의 값을 각각 설정 컬럼명 IS NULL : 컬럼값이 NULL이면 참 컬럼명 IS NOT NULL : 컬럼 값이 NULL이 아니면 참 ※ 컬럼명 IS NULL 과 컬럼명 = 'NULL';은 상황에 따라 결과가 다르게.. 2021. 8. 12.
[lesson] DBMS - DDL (데이터 정의어) SQL문에서 오늘 배울 내용은 DDL입니다. 자! 오늘도 힘차게 배워볼까요!!! DDL은 주로 테이블 조작, 제어 관련된 쿼리문입니다. 1. CREATE : 테이블 생성 2. DROP : 테이블 삭제 +) (DML의 DELETE와 구분을 해야하며, DROP은 ROLLBACK이 되지 않고, 자동 COMMIT이 되기 때문에 꼭 주의하여 사용해야합니다.) 3. ALTER : 테이블 수정 - 테이블명 수정 : RENAME TO [새로운 테이블명] - 컬럼 추가 : ADD([새로운 컬럼명] [컬럼 타입(데이터크기)]) - 컬럼명 변경 : RENAME COLUMN [생성된 컬럼명] TO [새로운 컬럼명] - 컬럼 삭제 : DROP COLUMN [생성된 컬럼명] - 컬럼 수정 : MODIFY([생성된 컬럼명] [컬럼.. 2021. 8. 11.
반응형