SQL의 집합적 사고

 

 

SQL이란?

 

*사용자가 실행한 SQL은 데이터 딕셔너리를 참조하여 파싱을 수행

*옵티마이져는 파싱 결과를 이용해 논리적으로 적용 가능한 실행계획 형태를 선택하고, 힌트를 감안하여 일차적으로 잠정적인 실행계획들을 생성

*데이터 딕셔너리의 통계정보(데이터의 분포도, 테이블 저장구조, 인덱스 구조, 파티션 형태, 비교연산자)등을 감안하여 각 실행계획의 비용을 계산

*실행계획들의 산출된 비용을 비교하여 가장 최소의 비용을 가진 실행계획을 선택(최저가 입찰 방식이므로 항상 최적의 결정이라고만 할 수는 없음)

 

SQL 이란?

 

-SQL은 명령어가 아니라 하나의 프로그램

-데이터베이스에게 일을 시킬 수 있는 유일한 수단

-절차형 사고를 집합적 사고로 전환해야 함

-동일한 결과를 내는 처리경로는 많으나 효율의 차이는 큼

-응용력에 따른 개인차

-사용상의 미묘한 차이가 엄청난 효율성의 차이를 가져옴

-1000줄의 절차형 프로그램을 10여줄로 처리가능

-1000초의 수행속도를 약간의 변경으로 1초로도 향상 가능

-내부 처리절차를 모르는 사람은 세월이 흘러도 제자리

-원리 이해를 바탕으로 정석을 익히고 응용력을 키워라!

 

 

 

 

 

 

-오라클 이외의 DBMS에서는 FROM 절 없는 SQL문도 존재함

-오라클은 FROM 절이 꼭 필요하도록 문법을 정하였기 때문에 DUAL 테이블 사용

-오라클은 group by에 의한 정렬이 이루어 졌으나 오라클 10gR2부터는 정렬은 보장되는 것이 아님

-Order by는 가장 나중에 실행

 

'오라클 > Oracle,SQL' 카테고리의 다른 글

오라클공부 25. SQL이란?  (0) 2015.08.20
오라클공부 24. SQL이란?  (0) 2015.08.20
오라클공부 22. SQL이란?  (0) 2015.08.19
오라클공부 21. SQL 명령문의 종류  (0) 2015.08.19
오라클공부 20. SQL 언어의 정의  (0) 2015.08.19

+ Recent posts