CS

CS/SQL

[SQL] 실행 계획(Execution Plan) 보는 방법

실행 계획이 만들어지면 DBMS는 그것을 바탕으로 데이터 접근을 수행한다. 그러나 여러 이유로 인해 SQL 실행이 지연될 수 있다. 이와 같이 지연이 발생했을 때는 가장 먼저 실행 계획을 살펴보아야 한다. 본 포스팅을 통해 간단하게 실행 계획의 핵심구성과 보는 방법에 대해 알아보자. 1. 실행 계획의 핵심구성 실행 계획에서 핵심적으로 봐야 하는 부분은 크게 다음의 3가지로 나뉜다. 1) 조작 대상 객체 SQL 구문이 실행되는 과정에서 수행되는 조작(Operation)의 대상이 되는 객체를 의미한다 테이블 외에 인덱스, 파티션, 시퀀스처럼 SQL 구문으로 조작할 수 있는 객체라면 무엇이라도 올 수 있다 2) 객체에 대한 조작의 종류 SQL 구문이 실행되는 과정에서 수행되는 조작(Operation)이 어떤 ..

CS/데이터베이스

[데이터베이스] 커넥션과 세션 간단하게 정리

커넥션 커넥션은 DB와 클라이언트 간의 TCP 소켓을 통한 물리적인 연결(채널)이다 클라이언트가 데이터베이스 서버에 연결을 요청하면 커넥션을 맺게 된다 한 커넥션에서 여러 개의 트랜잭션을 동시에 실행시킬 수 없다 세션 사용자가 데이터베이스에 연결된 상태를 의미한다 세션은 DB와 클라이언트 간의 논리적인 연결이라고도 할 수 있다 커넥션 하나 당 여러 개의 세션을 가질 수 있다 (또는 세션을 아예 가지지 않을 수도 있다) 커넥션을 통한 모든 요청은 세션을 통해서 실행된다 쉽게 말해서 실제 SQL 쿼리 실행은 세션을 통해 이루어진다 사용자가 커넥션을 닫으면 세션은 종료된다 커넥션이 닫히면 세션은 종료되고, 커밋되지 못한 트랜잭션은 롤백된다. 커넥션을 파이프로, 세션을 파이프를 이루는 와이어들로 생각하면 개념이..

CS/알고리즘 문제 풀이

[프로그래머스] 기지국 설치 [Java(자바)]

본문은 프로그래머스 K-Digital Credit 강좌를 수강하고 작성한 게시물입니다. 문제 https://programmers.co.kr/learn/courses/30/lessons/12979 코딩테스트 연습 - 기지국 설치 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5 programmers.co.kr 풀이 본 문제는 그리디 알고리즘에 속하는 문제이다. '전파 범위(w)만큼 오른쪽으로 이동해서 기지국을 세운다면 세워진 기지국에 의한 전파의 유효범위가 최대가 된다'라는 아이디어가 핵심이었다. 이때, 기지국을 세우고자 하는 위치가 이미 전파 범위 안에 ..

CS/알고리즘 문제 풀이

[프로그래머스] 전력망을 둘로 나누기 [Python(파이썬), Java(자바)]

문제 https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 9주차_전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr 풀이 브루트포스 + 그래프 탐색을 이용해 풀 수 있는 문제였다. 기본 문제풀이 로직은 다음과 같다. for문을 통해 그래프의 간선을 하나씩 제외한다. 나머지 간선들로 그래프를 초기화한다. 간선이 n-2개 존재할 시 그래프는 2분할되므로 각 영역에 속한 노드 수의 차를 구하고 answer을 갱신한다. 중요한 점은 그래프가 트리 구조로 되어있다는 것이다...

CS/알고리즘 문제 풀이

[프로그래머스] 다단계 칫솔 판매 [Python(파이썬)]

문제 https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 풀이 트리 구조로 입력이 주어지지만, 딱히 트리 구조를 구현할 필요는 없는 구현 문제였다. 부모 노드를 통해서 조상 노드를 계속해서 탐색하며, 수익을 계산해주면 된다. 이때, 수익을 계산하는 방식을 눈여겨봐야한다. 조상 노드부터 현재 노드까지의 서브 트리가 가질 수 있는 총 수익을 total_profit이라고 할 때, ※ total_profit은 매 ..

코택
'CS' 카테고리의 글 목록