(쿼리 변환, Query Transformation,서브쿼리푸시,SubQuery Pushing)SQL튜닝을 위해 서브쿼리의 드라이빙을 제어...탑크리에듀(구로디지털단지역3번출구 2분거리)
(개발시 SQL튜닝은 기본 입니다.)서브쿼리튜닝, 쿼리 변환(Query Transformation)에 대한 이해는 SQL튜닝의 핵심입니다. 서브쿼리 푸시 및 서브쿼리의 드라이빙을 제어할 수 있는 push_subq, no_push_subq 힌트에 대해 알아보고 실행방법에 따른 서브쿼리의 종류도 설명한 영상 입니다. SQL튜닝 교육은 탑크리에듀(www.topcredu.co.kr)에서 해결해 드리겠습니다.
SQL튜닝을 위한 도구중 하나인 "오라클의 10053 이벤트" 간단히 소개하고 오라클 함수를 만들어 간단히 테스트 후 옵티마이저의 Query Transformation, Optimization 과정(조인방법 결정, 드라이빙테이블 선정), 실행계획 생성등을 Trace 파일을 만들어 확인하는 PPT 강좌 입니다.
(쿼리 변환, Query Transformation,서브쿼리푸시,SubQuery Pushing)SQL튜닝을 위해 서브쿼리의 드라이빙을 제어...탑크리에듀(구로디지털단지역3번출구 2분거리)
(개발시 SQL튜닝은 기본 입니다.)서브쿼리튜닝, 쿼리 변환(Query Transformation)에 대한 이해는 SQL튜닝의 핵심입니다. 서브쿼리 푸시 및 서브쿼리의 드라이빙을 제어할 수 있는 push_subq, no_push_subq 힌트에 대해 알아보고 실행방법에 따른 서브쿼리의 종류도 설명한 영상 입니다. SQL튜닝 교육은 탑크리에듀(www.topcredu.co.kr)에서 해결해 드리겠습니다.
SQL튜닝을 위한 도구중 하나인 "오라클의 10053 이벤트" 간단히 소개하고 오라클 함수를 만들어 간단히 테스트 후 옵티마이저의 Query Transformation, Optimization 과정(조인방법 결정, 드라이빙테이블 선정), 실행계획 생성등을 Trace 파일을 만들어 확인하는 PPT 강좌 입니다.
(오라클 SQL튜닝을 위한 쿼리문 작성법 강좌)오라클 SQL/쿼리 튜닝은 간단한 SQL구문 최적화 부터 시작을 하게되죠, SQL을 처음 사용할 때 부터 최적화 하는 방법에 주의해서 공부하시면 저절로 튜닝 됩니다. 본 PPT 강좌는 탑크리에듀(www.topcredu.co.kr), 오라클자바커뮤니티(ojc.asia)에서 제공하는 교육강좌 입니다.
Sorry. for koreans only. I'll add english short description. or just visit http://wtfjs.com
아오 썅.
정정사항입니다.
객체 동일비교는 항상 valueOf 결과물로 나온 비교로 하는 데다가,
객체와 배열은 valueOf 해봐야 객체로 나오기 때문에
객체와 배열은 == 하나 === 하나 같은 비용으로 비교합니다.
[1,2,3]==[1,2,3] 은 false가 되므로
[1,,,2]==[1,undefined,undefuned,2] 는 무조건 false로 나옵니다.
boost라이브러리 중에서 가장 많이 사용하는 기능인 BOOST_FOREACH()와 shared_ptr의 내부 구조를 분석합니다. 그리고 boost의 내부 구현에 사용된 이 기능을 프로그래밍에 응용하는 방법을 제시합니다.
* BOOST_FOREACH 구조 분석 및 응용
* shared_ptr 구조 분석 및 응용
탑크리에듀에서 제공하는 SQL기초강좌(상관서브쿼리) 입니다.
서브 쿼리와 메인쿼리간에 서로 상관 참조 작용하는 쿼리로 Inner Query에서 Outer Query의 어떤 컬럼을 이용하는 경우다. 일반적인 Query의 경우 서브 쿼리의 결과를 메인에서는 단순히 이용만 하지만 상관 서브 쿼리에서는 서브 쿼리가 메인 쿼리의 값을 이용하여 값을 구하면 그 값을 다시 메인 쿼리에서 이용하는 구조이므로 서브쿼리는 값을 확인하는 확인자 역할을 하게된다. 예를 들어 서브 쿼리 에서 10번 부서에서 가장 많은 급여를 받는 사람, 20번 부서에서 가장 많은 급여를 받는 사람, 30번 부서에서 같은 결과를 구하고자 한다면 부서만 다르고 같은 내용을 입력 시켜야 하므로 이 경우 상관 쿼리로 만들어 처리하면 편리 하다.
(오라클 SQL튜닝을 위한 쿼리문 작성법 강좌)오라클 SQL/쿼리 튜닝은 간단한 SQL구문 최적화 부터 시작을 하게되죠, SQL을 처음 사용할 때 부터 최적화 하는 방법에 주의해서 공부하시면 저절로 튜닝 됩니다. 본 PPT 강좌는 탑크리에듀(www.topcredu.co.kr), 오라클자바커뮤니티(ojc.asia)에서 제공하는 교육강좌 입니다.
Sorry. for koreans only. I'll add english short description. or just visit http://wtfjs.com
아오 썅.
정정사항입니다.
객체 동일비교는 항상 valueOf 결과물로 나온 비교로 하는 데다가,
객체와 배열은 valueOf 해봐야 객체로 나오기 때문에
객체와 배열은 == 하나 === 하나 같은 비용으로 비교합니다.
[1,2,3]==[1,2,3] 은 false가 되므로
[1,,,2]==[1,undefined,undefuned,2] 는 무조건 false로 나옵니다.
boost라이브러리 중에서 가장 많이 사용하는 기능인 BOOST_FOREACH()와 shared_ptr의 내부 구조를 분석합니다. 그리고 boost의 내부 구현에 사용된 이 기능을 프로그래밍에 응용하는 방법을 제시합니다.
* BOOST_FOREACH 구조 분석 및 응용
* shared_ptr 구조 분석 및 응용
탑크리에듀에서 제공하는 SQL기초강좌(상관서브쿼리) 입니다.
서브 쿼리와 메인쿼리간에 서로 상관 참조 작용하는 쿼리로 Inner Query에서 Outer Query의 어떤 컬럼을 이용하는 경우다. 일반적인 Query의 경우 서브 쿼리의 결과를 메인에서는 단순히 이용만 하지만 상관 서브 쿼리에서는 서브 쿼리가 메인 쿼리의 값을 이용하여 값을 구하면 그 값을 다시 메인 쿼리에서 이용하는 구조이므로 서브쿼리는 값을 확인하는 확인자 역할을 하게된다. 예를 들어 서브 쿼리 에서 10번 부서에서 가장 많은 급여를 받는 사람, 20번 부서에서 가장 많은 급여를 받는 사람, 30번 부서에서 같은 결과를 구하고자 한다면 부서만 다르고 같은 내용을 입력 시켜야 하므로 이 경우 상관 쿼리로 만들어 처리하면 편리 하다.
1. 먼저 StackFrame을 알아보기 전에 스택이란 무엇인지 알아보겠습니다.
쉽게 말해서 스택은 CPU가 연산을 할 때 사용하는 임시 저장 공간입니다.
여러 개의 데이터 항목들이 일정한 순서로 나열된 구조로서, 한쪽 끝에서만 새로운 항목을
삽입, 기존 항목을 삭제할 수 있는 자료구조입니다.
Stack 의 특징 때문에 흔히 "FILO (First-In-Last-Out)" 혹은 "LIFO (Last-In-First-Out)"
라고 한다. 선입후출, 후입선출 형 자료구조입니다.
FIFO 선입선출법(first in first out)
-먼저 들어간 것이 먼저 나옵니다.
LIFO 후입선출법(_last in first out)
-마지막으로 들어간 것이 먼저 나온다.
아래사진은 스택의 원리가 잘 설명되어 있는 이미지입니다.
표출처:네이버이미지
스택에서는 데이터의 한계(limit)가 있는데 이것을 초과하여 push할 경우 overflow,
자료가 없는 상황에서 pop할 경우 underflow라고 한다.
2. 그럼 이제 StackFrame에 대해 알아보도록 하겠습니다.
스택 프레임은 로컬 변수와 함수 호출에 사용됩니다.
스택 프레임 이란 EBP 레지스터를 사용하여 스택 내의 로컬 변수, 파라미터, 복귀 주소에
접근하는 기법을 말한다. ESP 레지스터의 값은 프로그램 안에서 수시로 변경되기 때문에
스택에 저장된 변수, 파라미터에 접근하고자 할 때 함수 시작점 ESP를 EBP에 저장하고 이
를 함수 내에서 유지해주면, ESP 값이 아무리 변하더라도 EBP를 기준으로 안전하게 변수,
파라미터,복귀 주소에 접근 할 수 있습니다.
그럼 실제로 간단한 assembly 코드를 보면 이런 식입니다.
3: int main(int argc, char* argv[])
0040B500 push ebp <-- 함수 시작(기존의 EBP를 스택에 저장)
0040B501 mov ebp,esp <-- esp값을 ebp로 복사
0040B503 sub esp,48h <-- ebp~esp 함수사용공간 확보
5: int a = 1, b = 2;
7: return 0;
004010B0 mov esp,ebp <--ESP정리
004010B2 pop ebp <--EBP를 원래 기존값으로 복원
004010B3 ret <-- 함수 종료
위를 보면 함수 시작시 EBP값에 ESP를 넣고 ESP에서 필요한 함수 메모리 만큼 빼서 함수
사용 공간을 확보 하고 있음을 확인할 수 있습니다
EBP, ESP. EBP
스택 스택
ESP
참고한 사이트:http://www.reversecore.com ,
Copyright ⓒ 2011. 육승찬. All rights Reserved