본문 바로가기

SQL23

NL조인의 특징 1. 랜덤 액세스 위주의 조인방식이다. 레코드 하나를 읽으려고 블록을 통째로 읽는 랜덤 액세스 방식은 설령 메모리 버퍼에서 빠르게 읽더라도 비효율이 존재한다. 인덱스 구성이 아무리 완벽해도 대량 데이터 조인할 때 NL조인이 불리한 이유다. 2. 조인을 한 레코드씩 순차적으로 진행한다. 아무리 큰 테이블을 조인하더라도 매우 빠른 응답 속도를 낼 수 있다. (부분범위 처리가 가능한 상황에서 그렇다.) 부분범위 처리를 활용한다면, 사용자가 조회 버튼을 누르자마자 결과 집합을 출력하기 시작한다. 출처: 도서 2022. 3. 17.
왜 조인 메소드를 선택할 때 NL조인을 가장 먼저 고려해야 할까? NL조인에서 사용하는 인덱스는 영구적으로 유지하면서 다양한 쿼리를 위해 공유 및 재사용하는 자료구조다. 반면, 해시조인에서 사용하는 해시테이블은 단 하나의 쿼리를 위해 생성하고 조인이 끝나면 곧바로 소멸하는 자료구조다. (같은 쿼리를 100개 프로세스가 동시에 수행하면, 해시 테이블도 100개가 만들어진다.) 따라서 수행시간이 짧으면서 수행빈도가 매우 높은 쿼리를 해시조인으로 처리하면 CPU와 메모리 사용률이 크게 증가한다. 해시 맵을 만드는 과정에서 여러 가지 래치 경합도 발생한다. 결론적으로 해시조인은 아래 3가지 조건을 만족할 때 사용하자. 1) 수행 빈도가 낮고 2) 쿼리 수행 시간이 오래 걸리는 3) 대량 데이터를 조인할 때 출처: 도서 2022. 3. 17.
Join의 종류(NL, Sort Merge, Hash) NL 조인(Nested Loops Join) Sort Merge 조인 Hash 조인 출처: https://hoon93.tistory.com/46 오라클 NL Join, Sort Merge Join, Hash Join 특징 총정리 NL Join(Nested Loops Join) 수행 원리 1) 다음은 NL Join의 수행 방식을 단계별로 나타낸 것입니다. ① 선행 테이블에서 조건을 만족하는 첫 번째 행을 찾음 → 이때 선행 테이블에 주어진 조건을 만족하 hoon93.tistory.com 2022. 2. 17.
HackerRank - Challenges (Using 'subquery', 'with') 문제 Julia asked her students to create some coding challenges. Write a query to print the hacker_id, name, and the total number of challenges created by each student. Sort your results by the total number of challenges in descending order. If more than one student created the same number of challenges, then sort the result by hacker_id. If more than one student created the same number of challeng.. 2021. 3. 27.
Leetcode 267 UPDATE SALARY SET SEX = ( CASE WHEN SEX = 'm' THEN 'f' ELSE 'm' END ) 2020. 10. 24.