개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

최적의 성능을 위한 SQL작성시 고려사항

 

​- 집합적 사고
- 인덱스
- 조인방식
- 조인순서
- 조인 연결고리
- 인라인 뷰
- 서브쿼리
- 실행계획
- 저장형 함수
- 스칼라 서브쿼리

고려사항 1. join method

 

 

 

 

 

2. join order

 

 

3. join link

 

 

 

4. inline view

 

 

 

5. subquery

 

 

 

6. 실행계획 확인

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

SQL 쉽다?

- "WHAT"만 필요할 뿐 "HOW"는 필요없다.
- 배우기가 쉽다.
 -SELECT,FROM,WHERE
 -프로그램을 모르는 END-USER도 손쉽게 SQL을 작성할 수 있다.
- 동일한 결과를 얻을 수 있는 방법은 수도 없이 많다.

 


SQL 어렵다?

- 최적의 SQL을 작성하는 것은 쉽지 않다.
- SQL은 SELECT, FROM, WHERE절만 알아서 되는것은 아니다.
- 수행되는 과정을 정의할 수 없다. -> 성능을 담보할 수 없다.
- 생각하지 않은 SQL을 성능을 보장 받을 수 없다! 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 


무슨 SQL을 작성했지 ?

이 SQL이 어떻게 수행될까 ?

이런 사항은 관심 밖!!!

오로지 관심은 결과 값!!!

 

 

 

 

내부가 훤히 들여다 보이는 SQL

무슨 SQL을 작성했는지 정확히 알 수 있는 SQL

실행계획을 정확히 예상할 수 있는 SQL

결과만이 아닌 성능이 담보된 SQL

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

<SQL은 집합을 처리하기 위한 도구>

 

 

 

 

 


​<두개 이상의 집합을 연결하는 방법은 4가지 형태만 존재>

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 

SQL의 집합적 사고

 

SQL 작성 시 데이터 처리 효율에

영향을 미치는 요소를 항상 생각 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

SQL이란?

 

 

SQL은 데이터 처리 방법을 기술한 것이 아니라 단지 필요한 데이터를 요구한 것임.

 

 

 

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

SQL을 어떻게 공부 할 것인가?

 

 

 

 

어려운 문제를 많이 풀어보라!

 

 

 

 

원리에 기본에 충실하라!

 

 

항상 SQL의 실행계획을 염두에 두라!​

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 

 SQL 이란?

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


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


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


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


응용력에 따른 개인차


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


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


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


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


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

 

 

+ Recent posts