옵티마이저는 SQL문을 실행할 때 최적의 실행 계획을 선택하는 역할을 하는 핵심 구성요소
9g 이하에서는 규칙 기반 옵티마이저로 테이블 풀 스캔보다는 인덱스 스캔을 우선으로 적용
10g 이후는 비용 기반 옵티마이저로 통계 정보를 기반으로 최적의 경로 선택
옵티마이저 힌트
SELECT /*+ FULL(emp) */ * FROM emp;
3월과 6월마다 새로운 버전을 릴리즈합니다.
결론적으로 open JDK는 ‘무료’ 입니다.
오라클, 레드햇, Azul, AdoptOpenJDK 등의 OpenJDK 바이너리 파일을 제공받을 수 있습니다.
‘Java SE의 무료 및 오픈 소스 구현체’로 Java SE와 같은 API와 기능을 제공하며 호환성을 유지합니다.
조회 및 검색 기능 : SELECT
SELECT [distict] {*, column [alias], ...} from (table_name);
# alias(as) 는 생략할 수 있고, 별칭으로 지정할 수 있다.
# - 공백이나 특수문자를 적용하려면 "(더블 쿼터)를 사용해야 한다.
저장, 수정, 삭제 : INSERT, UPDATE, DELETE cf) 메모리에 적재된다. commit 하지 않으면 외부에서 조회가 불가능한 상태이다.
데이터 영구 저장, 취소 : COMMIT, ROLLBACK,. SAVEPOINT
시스템 권한 부여, 회수수 : GRANT, REVOKE
CREATE TABLE 계정이름.테이블이름(
칼럼명1 데이터타입1(사이즈)
,칼럼명2 데이터타입2
,칼럼명3 데이터타입3(사이즈)
, ...
, 칼럼명N 데이터타입N(사이즈)
)
# 계정 이름 없을 시 현재 계정에 테이블 생성
예제
CREATE TABLE CAT AS
SELECT * FROM ANIMAL WHERE 1=2;
# where 절이 false이므로 칼럼만 들고온다.
SQL을 확장한 절차적 언어
RDBMS에서 사용되는 Oracle의 표준 데이터 엑세스 언어로, 프로시저 생성자를 SQL과 완벽하게 통합한다.
유저 프로세스가 PL/SQL을 보내면 서버 프로세스는 PL/SQL Engine에서 해당 블록을 받아 SQL과 Procedural를 나눠 SQL은 SQL statement executer로 보낸다.
PL/SQL 분류 : Procedure, Function, Trigger