실행 계획 확인하기 실행 계획이란 SQL이 실행되어 데이터를 처리하고자 할 때 옵티마이저에서 수립되는 SQL 실행 방법론입니다. 이 실행 계획을 구성하는 내용의 분석을 통해 SQL의 비 효율적인 부분을 확인할 수 있고 쿼리의 성능 향상을 위한 튜닝 포인트도 도출해낼 수 있습니다. 실행 계획을 알아내는 방법은 크게 EXPLAIN PLAN과 SET AUTORACE, SQL TRACE 이렇게 세 가지 방법이 있습니다. [DB] 데이터베이스 옵티마이저(Optimizer)에 대하여 [DB] 데이터베이스 실행 계획에 대하여 EXPLAIN PLAN 사용 예시 EXPLAIN PLAN -- EXPLANIN PLAN 선언부 SET STATEMENT_ID = 'PLAN1' INTO PLAN_TABLE -- SQL에 PLAN..
실행 계획이란? 실행계획이란 사용자가 SQL을 실행하여 데이터를 추출하려고 할 때 옵티마이저가 수립하는 작업 절차입니다. 이렇게 만들어진 실행 계획은 여러 가지 방법을 통해 확인할 수 있습니다. 실제 프로젝트에서 SQL 튜닝 업무를 하다 보면 개발자들이 DBMS 툴을 활용하여 실행 계획을 확인하는 것을 자주 보실 수 있습니다. SQL을 실행한 후 실행 계획을 판단하여 이 SQL이 어떠한 방식으로 실행되는지 확인이 가능합니다. [DB] 데이터베이스 옵티마이저(Optimizer)에 대하여 쿼리문의 실행 계획을 확인하는 방법 쿼리문의 실행 계획을 확인하는 방법은 EXPLAIN PLAN, AUTOTRACE, SQL TRACE 이렇게 3가지가 있습니다. 실행 계획을 판단하는 방법은 아래 포스팅에 오라클을 활용하여..
옵티마이저(Optimizer)란? 옵티마이저는 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진입니다. 컴퓨터의 두뇌가 CPU인 것처럼 DBMS의 두뇌는 옵티마이저라고 할 수 있습니다. 개발자가 SQL을 작성하고 실행하면 소프트웨어 실행파일처럼 즉시 실행되는 것이 아니라 옵티마이저(Optimizer)라는 곳에서 "이 쿼리문을 어떻게 실행시키겠다!"라는 여러 가지 실행계획을 세우게 됩니다. 이렇게 실행계획을 세운 뒤 시스템 통계정보를 활용하여 각 실행계획의 예상 비용을 산정한 후 각 실행계획을 비교해서 최고의 효율을 가지고 있는 실행계획을 판별한 후 그 실행계획에 따라 쿼리를 수행하게 되는 것입니다. 옵티마이저의 종류 옵티마이저는 실행 계획을 세우는 방식에 따라 규..
서블릿(Servlet)이란? 서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 요청과 응답에는 규칙이 존재합니다. 이러한 요청과 응답을 일일이 처리하려면 굉장히 힘들겠죠? 서블릿은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술이라고 생각하시면 이해가 빠를듯 합니다. 서블릿은 자바 클래스로 웹 애플리케이션을 작성한 뒤 이후 웹 서버 안에 있는 웹 컨테이너에서 이것을 실행하고, 웹 컨테이너에서는 서블릿 인스턴스를 생성 후 서버에서 실행되다가 웹 브라우저에서 서버에 요청(Request)을 하면 요청에 맞는 동작을 ..
Web Service의 전체적인 흐름 웹 개발을 진행한다고 하면 위의 그림과 같은 구조로 시스템을 구성하게 됩니다. 전체적인 흐름을 보면 웹 브라우저에서 Web Server로 HTTP 요청을 보내고 정적 요청인 경우에는 즉각적으로 Web Server에서 응답을 합니다. 하지만 동적 요청인 경우에는 Web Sever에서 대응하지 못하고 Web Server에 연결되어 있는 Web Application Server 중 한 곳에 처리를 위임합니다. Web Application Sever는 Web Server에서 요청을 받게 되면 컨테이너가 응답하여 동적 콘텐츠를 삽입할 수 있는 프로그래밍 언어인 Java를 사용할 수 있게끔 JSP / Servlet을 실행한 뒤 DB에서 값을 가져오는 등의 동적인 값을 확정하고 ..
가끔 필요로 인해 내가 개발하고 있는 사이트의 도메인 IP주소를 알아야 할 경우가 있습니다. 이럴때는 윈도우 cmd창에서 nslookup 명령어를 활용하여 도메인의 정보를 조회하시면 됩니다. nslookup명령어는 DNS 서버에 도메인이나 ip주소를 질의해서 DNS 서버에 있는 정보를 응답받는 명령어 입니다. nslookup 명령어를 활용하여 도메인 IP 주소 확인하기 명령 프롬프트(CMD)창을 켠 후 nslookup [도메인 명]으로 입력하면 설정된 DNS 서버에 질의하여 해당 도메인의 IP주소를 조회합니다. 서버의 숫자에 따라 응답되는 ip주소는 여러개일 수 있습니다. nslookup 명령어 옵션 및 사용법 cmd창에 nslookup ? 이렇게 명령어 + 물음표를 입력하면 nslookup 도움말을 확..
Ping 이란? ping이란 Paket Internet Groper의 약자이며 컴퓨터 네트워크 상태를 점검, 진단하는 명령어입니다. ping을 보내는 대상 컴퓨터를 향해 일정 크기의 패킷(packet, 네트워크 최소 전송 단위)을 보낸 후 (ICMP echo request) 대상 컴퓨터가 이에 ping에 대해 응답하는 메시지(ICMP echo reply)를 보내면 이를 수신, 분석하여 대상 컴퓨터가 작동하는지, 또는 대상 컴퓨터까지 도달하는 네트워크 상태는 어떠한지를 알 수 있습니다. 예를 들어 인터넷이 끊긴다고 가정하였을 때 공유기에 ping을 날려 주고받은 패킷의 손실률을 파악하여 인터넷의 연결 상태를 진단하실 수 있습니다. 인터넷 연결 진단 Ping 테스트 하는법 1. PC -> 공유기 까지의 연결..