SlideShare a Scribd company logo
Perspective of Query
Produced by Tae Young Lee
Perspective of query
Index Architecture
Access Cost
수직적 Search수평적 탐색 Table Random Access
Root Node
Branch Node
Leaf Node
Tunning 방법론
Hash & Sort
Perspective of query
DataBase
Instance
Data File
Memory
Background Process
PGA
SGA
Program
Global
Area
Un-Correlated(비연관)
Correlated(연관)
Single Row 서브쿼리(단일 행 서브쿼리)
Multi Row 서브쿼리(다중 행 서브쿼리)
Multi Column 서브쿼리(다중 컬럼 서브쿼리)
Perspective of query
Perspective of query
Perspective of query
Perspective of query
Perspective of query
부분범위 처리 혹은 페이징 처리시 탁월한 힘을 발휘하는 것이 스칼라 서브쿼리
이다. 여러 가지 테스트 결과 스칼라 서브쿼리는 부분범위 처리시 가장 좋다는
Nested Loop 조인보다 성능상 좀더 유리하다. 과다호출로 몸살을 앓고 있는 사
용자 함수를 스칼라 서브쿼리로만 바꾸어도 튜닝이 된다. 또한 View Merging 이
나 JPPD(Join Push Predicate Down) 등의 성공여부를 고민할 필요도 없으므로 특
히 개발자 들에게 인기가 많은 것 또한 사실이다.
모든 기능은 용도에 맞게 사용해야 한다.
이렇게 많이 활용되고 있는 스칼라 서브쿼리도 한계는 있다. Multi Column,
Multi Row 을 RETURN 하는 것은 만들 수가 없다는 것이다. 물론 Pipilined
Funtion 으로 해결이 가능하지만 모든 경우에 이것을 만들기란 여간 힘든 것이
아니다. 바로 이럴 때 사용가능 한것이 Cast + MultiSet 함수를 이용한 스칼라 서
브쿼리이다. MultiSet 함수는 Oracle 8.1.7 부터 사용이 가능하다. 필자가 이 기능
을 소개하는 이유는 실무에서 이런 기능을 꼭 써야 하는 경우임에도 Pipelined 함
수등을 사용하는 것을 많이 보아서이다. Pipelined 등의 함수를 사용해야 할 때는
자주 사용하는 SQL 이 아주 길어서 Network 의 부하가 생길때 혹은 모듈로서 공
유를 해야될 때 이다.
Scala Subquery
JOIN
Perspective of query
Perspective of query
Perspective of query
트랜잭션과 같은 일반적인 서비스 구현에 필요한 기능들이 전혀 준비되어 있지
않기 때문이다.
• SubQuery와 JOIN으로 원하는 값을
뽑아올 수 있다.
• 성능이 좋게 뽑아오기 위해선 DB 내
부 구조를 알아야 한다.
• 화면단에서 빠른 Data출력을 위해선
Query Tunning이 필요하다.
• Tunning을 하는 목적은 Block I/O비용
을 줄이기 위해서다.

More Related Content

PDF
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
PDF
이클립스와 안드로이드
PPTX
Pg report 20161010_02
PDF
다중성 확보, 시스템 안정화
PPTX
오픈소스 WAS를 위한 클러스터 솔루션 - OPENMARU Cluster
PPTX
실무로 배우는 시스템 성능 최적화 Ch7
PDF
E-Gov 기반 Mobile Web Friendly 개발
PPTX
실무로 배우는 시스템 성능 최적화 Ch6
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
이클립스와 안드로이드
Pg report 20161010_02
다중성 확보, 시스템 안정화
오픈소스 WAS를 위한 클러스터 솔루션 - OPENMARU Cluster
실무로 배우는 시스템 성능 최적화 Ch7
E-Gov 기반 Mobile Web Friendly 개발
실무로 배우는 시스템 성능 최적화 Ch6

What's hot (12)

PPTX
Front end 웹사이트 성능 측정 및 개선
PPTX
모바일 Rpg 게임서버 리팩토링
PDF
Online service 계층별 성능 모니터링 방안
PDF
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
PDF
2014년 02월 XE세미나 XE서버서능개선
PPTX
테드폴허브(올챙이) PostgreSQL 디비 확장하기
PPTX
자바가 디비와 사귀기 까지 벌어지는 일들
PPTX
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
PDF
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
PPTX
My sql 장애복구
PDF
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
PPT
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
Front end 웹사이트 성능 측정 및 개선
모바일 Rpg 게임서버 리팩토링
Online service 계층별 성능 모니터링 방안
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014년 02월 XE세미나 XE서버서능개선
테드폴허브(올챙이) PostgreSQL 디비 확장하기
자바가 디비와 사귀기 까지 벌어지는 일들
대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
My sql 장애복구
ASP.NET과 C#으로 개발하는 대규모 소셜 게임
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
Ad

Viewers also liked (20)

PPTX
Denoising auto encoders(d a)
PPTX
Python Network Programming
PPTX
The art of data science
PDF
Sns(social network service)
PDF
Machine learning in spam
PPTX
OpenStack으로 바로보는 상용 클라우드 플랫폼
PDF
2017 tensor flow dev summit
PDF
Python으로 채팅 구현하기
PDF
Python socket programming
PDF
언어의 변천사를 통해 바라본 Python
PPTX
Spm12를 이용한 fmri analysis
PDF
Neural network의 변천사 이태영
PPTX
20151024 database
PDF
Akka & Actor model
PDF
Apache Tajo 프로젝트 소개 및 최신 기술동향
PPTX
The other sensory systems
PPTX
Google analytics in business
PPTX
Reproductive behaviors
PPTX
Android Studio개발 환경 설정(genymotion연동)
PPTX
랩탑으로 tensorflow 도전하기 - tensorflow 설치
Denoising auto encoders(d a)
Python Network Programming
The art of data science
Sns(social network service)
Machine learning in spam
OpenStack으로 바로보는 상용 클라우드 플랫폼
2017 tensor flow dev summit
Python으로 채팅 구현하기
Python socket programming
언어의 변천사를 통해 바라본 Python
Spm12를 이용한 fmri analysis
Neural network의 변천사 이태영
20151024 database
Akka & Actor model
Apache Tajo 프로젝트 소개 및 최신 기술동향
The other sensory systems
Google analytics in business
Reproductive behaviors
Android Studio개발 환경 설정(genymotion연동)
랩탑으로 tensorflow 도전하기 - tensorflow 설치
Ad

Similar to Perspective of query (20)

PPTX
The Cucumber for Java
PPTX
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
PPTX
Introduction to Apache Tajo
PDF
MariaDB 마이그레이션 - 네오클로바
PDF
SQL PASS Korea Seminar Season 2 발표 - Azure SQL database의 Geo Replica와 Managed...
PDF
201803 파이썬 세미나
PPTX
AngularJS의 개발방식에 대하여
PDF
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
PDF
[오픈소스컨설팅]Atlassian 트러블 슈팅 가상화 기반의 Atlassian Data Center 구축 최지웅 컨설팅코치
PDF
[122]네이버의모던웹라이브러리 박재성
PDF
MariaDB 제품 소개
PPTX
Gpdb best practices v a01 20150313
PPTX
Java collections framework
PDF
BigData Overview
PPTX
Tajo korea meetup oct 2015-spatial tajo
 
PPTX
Patterns for effectviely documenting frameworks
PPTX
OPENMARU Cluster 소개 자료 20200116
PDF
도메인구현 KSUG 20151128
PDF
Laravel로 스타트업 기술 스택 구성하기
PDF
Fundamentals of Oracle SQL
The Cucumber for Java
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Introduction to Apache Tajo
MariaDB 마이그레이션 - 네오클로바
SQL PASS Korea Seminar Season 2 발표 - Azure SQL database의 Geo Replica와 Managed...
201803 파이썬 세미나
AngularJS의 개발방식에 대하여
Atlassian 트러블슈팅 및 가상화기반 Confluence Data Center 구축 - 오픈소스...
[오픈소스컨설팅]Atlassian 트러블 슈팅 가상화 기반의 Atlassian Data Center 구축 최지웅 컨설팅코치
[122]네이버의모던웹라이브러리 박재성
MariaDB 제품 소개
Gpdb best practices v a01 20150313
Java collections framework
BigData Overview
Tajo korea meetup oct 2015-spatial tajo
 
Patterns for effectviely documenting frameworks
OPENMARU Cluster 소개 자료 20200116
도메인구현 KSUG 20151128
Laravel로 스타트업 기술 스택 구성하기
Fundamentals of Oracle SQL

More from Tae Young Lee (20)

PDF
DeepSeek를 통해 본 Trend (Faculty Tae Young Lee)
PDF
Transitioning from the Era of Big Data to LLMs_Deriving Insights
PDF
Facebook Meta's technical direction in Large Language Models (LLMs)
PDF
MultiModal Embedding integrates various data types, like images, text, and au...
PDF
Review of the Paper on Capabilities of Gemini Models in Medicine
PDF
A future that integrates LLMs and LAMs (Symposium)
PDF
LLMs Service that provides what users want to know
PDF
Exploring Deep Learning Acceleration Technology Embedded in LLMs
PDF
LLM 모델 기반 서비스 실전 가이드
PDF
Recommendation System History
PDF
검색엔진에 적용된 ChatGPT
PDF
검색엔진에 적용된 딥러닝 모델 방법론
PDF
PaLM Paper Review
PDF
The Deep Learning Compiler
PDF
History of Vision AI
PDF
Aws architecture
PDF
Enhanced ai platform
PDF
Nvidia architecture
PDF
Ai based on gpu
PDF
Real estate trust solution
DeepSeek를 통해 본 Trend (Faculty Tae Young Lee)
Transitioning from the Era of Big Data to LLMs_Deriving Insights
Facebook Meta's technical direction in Large Language Models (LLMs)
MultiModal Embedding integrates various data types, like images, text, and au...
Review of the Paper on Capabilities of Gemini Models in Medicine
A future that integrates LLMs and LAMs (Symposium)
LLMs Service that provides what users want to know
Exploring Deep Learning Acceleration Technology Embedded in LLMs
LLM 모델 기반 서비스 실전 가이드
Recommendation System History
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 딥러닝 모델 방법론
PaLM Paper Review
The Deep Learning Compiler
History of Vision AI
Aws architecture
Enhanced ai platform
Nvidia architecture
Ai based on gpu
Real estate trust solution

Perspective of query

  • 1. Perspective of Query Produced by Tae Young Lee
  • 3. Index Architecture Access Cost 수직적 Search수평적 탐색 Table Random Access Root Node Branch Node Leaf Node
  • 8. Un-Correlated(비연관) Correlated(연관) Single Row 서브쿼리(단일 행 서브쿼리) Multi Row 서브쿼리(다중 행 서브쿼리) Multi Column 서브쿼리(다중 컬럼 서브쿼리)
  • 14. 부분범위 처리 혹은 페이징 처리시 탁월한 힘을 발휘하는 것이 스칼라 서브쿼리 이다. 여러 가지 테스트 결과 스칼라 서브쿼리는 부분범위 처리시 가장 좋다는 Nested Loop 조인보다 성능상 좀더 유리하다. 과다호출로 몸살을 앓고 있는 사 용자 함수를 스칼라 서브쿼리로만 바꾸어도 튜닝이 된다. 또한 View Merging 이 나 JPPD(Join Push Predicate Down) 등의 성공여부를 고민할 필요도 없으므로 특 히 개발자 들에게 인기가 많은 것 또한 사실이다. 모든 기능은 용도에 맞게 사용해야 한다. 이렇게 많이 활용되고 있는 스칼라 서브쿼리도 한계는 있다. Multi Column, Multi Row 을 RETURN 하는 것은 만들 수가 없다는 것이다. 물론 Pipilined Funtion 으로 해결이 가능하지만 모든 경우에 이것을 만들기란 여간 힘든 것이 아니다. 바로 이럴 때 사용가능 한것이 Cast + MultiSet 함수를 이용한 스칼라 서 브쿼리이다. MultiSet 함수는 Oracle 8.1.7 부터 사용이 가능하다. 필자가 이 기능 을 소개하는 이유는 실무에서 이런 기능을 꼭 써야 하는 경우임에도 Pipelined 함 수등을 사용하는 것을 많이 보아서이다. Pipelined 등의 함수를 사용해야 할 때는 자주 사용하는 SQL 이 아주 길어서 Network 의 부하가 생길때 혹은 모듈로서 공 유를 해야될 때 이다. Scala Subquery
  • 15. JOIN
  • 19. 트랜잭션과 같은 일반적인 서비스 구현에 필요한 기능들이 전혀 준비되어 있지 않기 때문이다.
  • 20. • SubQuery와 JOIN으로 원하는 값을 뽑아올 수 있다. • 성능이 좋게 뽑아오기 위해선 DB 내 부 구조를 알아야 한다. • 화면단에서 빠른 Data출력을 위해선 Query Tunning이 필요하다. • Tunning을 하는 목적은 Block I/O비용 을 줄이기 위해서다.

Editor's Notes

  • #4: http://wiki.gurubee.net/pages/viewpage.action?pageId=26743010 인덱스 탐색은 수직적 탐색과 수평적 탐색으로 구분해 설명할 수 있다.수평적 탐색은 범위스캔 을 말하는 것이며 리프 블록을 인덱스 레코드 간 놀리적 순서에 따라 스캔하기 때문에 수평적 이라고 표현한다. 수직적 탐색은 수평적 탐색을 위한 시작 지점을 찾는 과정으로 루트에서 리프 블록까지 아래쪽으로 진행한다.
  • #16: Join 이란? - 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법 이다. - 보통 둘 이상의 행들의 공통된 값 Primary Key 및 Foreign Key 값을 사용하여 조인 한다. - 두 개의 테이블을 SELECT문장 안에서 조인 하려면 적어도 하나의 컬럼이 그 두 테이블 사이에서 공유 되어야 한다. Join 방법과 방식 - 조인의 방법 : Equi Join (등가 조인, 내부조인) , Non-Equi Join , Self Join , Outer Join - 조인의 방식 : Nested Loop Join, Sort Merge Join, Hash Join
  • #18: INNER JOIN은 JOIN과 같고, LEFT OUTER JOIN은 LEFT JOIN과 같고, RIGHT OUTER JOIN은 RIGHT JOIN과 같습니다.