분류 전체보기67 SGA vs PGA 2022. 3. 17. 서브쿼리(Subquery)의 종류 1. 인라인 뷰 FROM절에 사용하는 서브쿼리 2. 중첩된 서브쿼리 WHERE절에 사용하는 서브쿼리 3. 스칼라 서브쿼리 SELECT절에 사용하는 서브쿼리 한 레코드 당 정확히 하나의 값을 반환 출처: 도서 2022. 3. 17. NL조인의 특징 1. 랜덤 액세스 위주의 조인방식이다. 레코드 하나를 읽으려고 블록을 통째로 읽는 랜덤 액세스 방식은 설령 메모리 버퍼에서 빠르게 읽더라도 비효율이 존재한다. 인덱스 구성이 아무리 완벽해도 대량 데이터 조인할 때 NL조인이 불리한 이유다. 2. 조인을 한 레코드씩 순차적으로 진행한다. 아무리 큰 테이블을 조인하더라도 매우 빠른 응답 속도를 낼 수 있다. (부분범위 처리가 가능한 상황에서 그렇다.) 부분범위 처리를 활용한다면, 사용자가 조회 버튼을 누르자마자 결과 집합을 출력하기 시작한다. 출처: 도서 2022. 3. 17. 왜 조인 메소드를 선택할 때 NL조인을 가장 먼저 고려해야 할까? NL조인에서 사용하는 인덱스는 영구적으로 유지하면서 다양한 쿼리를 위해 공유 및 재사용하는 자료구조다. 반면, 해시조인에서 사용하는 해시테이블은 단 하나의 쿼리를 위해 생성하고 조인이 끝나면 곧바로 소멸하는 자료구조다. (같은 쿼리를 100개 프로세스가 동시에 수행하면, 해시 테이블도 100개가 만들어진다.) 따라서 수행시간이 짧으면서 수행빈도가 매우 높은 쿼리를 해시조인으로 처리하면 CPU와 메모리 사용률이 크게 증가한다. 해시 맵을 만드는 과정에서 여러 가지 래치 경합도 발생한다. 결론적으로 해시조인은 아래 3가지 조건을 만족할 때 사용하자. 1) 수행 빈도가 낮고 2) 쿼리 수행 시간이 오래 걸리는 3) 대량 데이터를 조인할 때 출처: 도서 2022. 3. 17. Pseudo Code(의사코드) 출처: https://medium.com/djangogirlsseoul-codecamp/%EC%9D%98%EC%82%AC%EC%BD%94%EB%93%9C-pseudo-code-%EB%9E%80-d892a3479b1d 의사코드(pseudo-code)란? 의사코드(pseudo-code)란 무엇인가요? medium.com 2022. 3. 15. 프로그래머스- 코테 고득점 kit - 해시: 위장 import java.util.HashMap; class Solution { public int solution(String[][] clothes) { int result = 1; HashMap map = new HashMap(); for(String[] item: clothes) { map.put(item[1], map.getOrDefault(item[1], 0) + 1) ; } for(String key: map.keySet()) { result *= map.get(key) + 1; } return result-1; } } 2022. 3. 7. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음