SQLD 7

[DB 기술면접] 해시 조인(Hash Join)이란 무엇인가

정의 해시 조인은 작은 집합으로 해시 테이블을 생성하고 큰 집합을 읽으면서 해시 테이블을 탐색하는 조인 기법입니다. 해시 테이블을 생성하는 데 사용되는 집합을 Bulid Input이라 하고 해시 테이블을 탐색하는 데 사용되는 집합을 Probe Input 이라고 합니다. 즉, 해시 조인은 두 단계로 진행됩니다. 작동 매커니즘 1. Build 단계 : 작은 쪽 테이블(Build Input)을 스캔해서 해시 테이블(해시 맵)을 생성한다. 2. Probe 단계 : 큰 쪽 테이블(Probe Input)을스캔해서 해시 테이블을 탐색하면서 조인한다. 예를 들어 배송업체 관리 테이블 (약 400건), 배송내역 테이블 (약 80,000건)을 해시 조인한다고 가정해보겠습니다. 1. Build 단계 : 우선 작은 쪽 테이블..

IT 이야기/DB 2022.09.09

[DB 기술면접] 클러스터 인덱스, 넌클러스터 인덱스 차이점은?

SQL Server 에서는 인덱스를 클러스터 인덱스와 넌클러스터 인덱스로 나눌 수 있습니다. 이 둘의 가장 큰 차이점은 리프 페이지 구조인데요. 각각의 특징을 살펴보도록 하겠습니다. 클러스터 인덱스 1. 인덱스의 리프 페이지가 곧 데이터 페이지이다. 2. 이 데이터 페이지에 있는 데이터는 클러스터 인덱스의 키 컬럼으로 모두 정렬되어 있다. 아래와 같이 클러스터 인덱스를 만들어보자 CREATE CLUSTERED INDEX IDX__CUST_TABLE__TEST ON dbo.CUST_TABLE(cust_no, svc_nation_cd) 마지막 리프 페이지에는 인덱스 키 컬럼 외 나머지 컬럼 정보가 저장됩니다. 넌클러스터 인덱스 넌클러스터 인덱스의 리프 페이지 구조는 해당 테이블에 클러스터 인덱스가 있냐 없냐..

IT 이야기/DB 2022.09.08

[MSSQL] INSERT문 다양한 사용법

SQL에는 데이터 조작 언어 (DML)가 있으며 DML에는 데이터를 삽입, 입력, 추가하는 INSERT문이 있습니다. 지금부터 INSERT문에 대한 다양한 사용법을 MS-SQL 기준으로 소개해 드리겠습니다. 우선 데이터를 입력할 테이블을 하나 생성합니다. CREATE TABLE dbo.CUST_TABLE ( custid int , custname varchar(10) , country varchar(10) ) INSERT INTO VALUE 가장 기본적인 INSERT문 입니다. 특정 값을 가지는 행들을 테이블에 입력합니다. INSERT INTO dbo.CUST_TABLE(custid, custname, country) VALUES (1, 'test', 'korea'); VALUES절 기능이 확대되어 쉼표..

IT 이야기/DB 2022.09.07

SQLP 응시자격 (4년제 대학 졸업했으면 바로 응시가능 합니다.)

SQLP 응시자격 SQLP를 취득하기 위해서 SQLD를 꼭 먼저 취득해야 한다고 알고 계신 분들이 더러 있는데, 그것은 잘못된 정보입니다. 한국데이터진흥원은 SQLP 응시자격을 아래와 같이 고시합니다. SQL 전문가 자격시험의 응시자격은 아래와 같으며 응시자격은 시험일 기준 시험일 이전에 응시자격 요건이 충족되어야 한다. 학력/경력기준 또는 자격기준 중 한가지의 요건이 충족될 경우 응시자격이 부여된다. 응시자격 학력 및 경력 기준 - 학사학위 이상 취득한 자 - 전문학사학위 취득 후 실무경력 2년 이상인 자 - 고등학교 졸업한 후 실무경력 4년 이상인 자 자격보유 기준 - 국내·외 데이터베이스 관련 자격을 취득한 자 - SQL 개발자 자격을 취득한 자 - 데이터아키텍처 전문가 및 준전문가 자격을 취득한 ..

IT 이야기/DB 2022.09.03

SQLP 자격증의 가치와 공부하는 이유

SQLD 자격증이 있는데 SQLP도 따야할까? 데이터 직무의 중요성과 인기가 커지면서 많은 분들이 SQLD를 응시하고 있습니다. 실제로 SQLD 자격증 응시자 수는2016년 4,256명에서 2021년 23,391명으로 약 5배 이상이나 증가했으며 올해 2022년까지도 꾸준히 증가할 것으로 예상됩니다. 그 원인 중 하나는 비IT 직군의 직원들도 본인들의 기업 환경에서 데이터를 직접 뽑아 활용할 수 있어야만 유능한 직원으로 인정받고, 그런 직원들이 속한 기업만이 선도적인 기업으로 설장할 수 있는 시대가 왔기 때문이 아닐까 싶습니다. 그러나 문제는 자격증의 가치입니다. 다양한 직군의 사람들이 SQLD 자격증을 취득하면서 SQL이 기본 소양이 되는 이러한 변화는 사회 전반적으로 매우 바람직하지만 IT/데이터를 ..

IT 이야기/DB 2022.09.02

[MSSQL] EXISTS문 사용법 및 예제

안녕하세요. 마술공입니다. MS-SQL에서 EXISTS문을 사용하는 스크립트를 소개해드리겠습니다. 스크립트를 직접 보면 직관적으로 의미를 파악할 수 있으니 작업에 참고하시기 바랍니다. EXISTS 문은 서브 쿼리를 입력받아 하나의 행이라도 반환하면 TRUE를 그렇지 않으면 FALSE를 반환합니다. 그렇다면 어떤 경우에 EXISTS 문을 활용할 수 있을까요? 우선 테스트에 사용할 테이블을 만들겠습니다. 예제 스크립트 (테이블 생성) CREATE TABLE dbo.ORDER_TABLE ( orderid varchar(10) , orderdate datetime , empid varchar(10) , custid varchar(10) ) INSERT INTO ORDER_TABLE(orderid, orderda..

IT 이야기/DB 2022.08.31

45회 SQLP 합격 후기 (SQL 전문가) 및 공부법

안녕하세요. 마술공입니다. 시간이 좀 지났지만 45회 SQLP 합격 후기와 공부법을 공유하고자 글을 작성합니다. 시험은 22년 5월 28일에 치뤘으며, 최종 결과 발표는 22년 6월 24일에 있었습니다. 왜, 시험을 치뤘는가 일반적으로 IT 업계에서 자격증은 중요하지 않다(?)는 인식이 깔려있다고 생각합니다. 대부분의 자격증이 당장의 실무 능력을 보장할 수 없기 때문입니다. 그래서 자격증을 따는 것 보다 직접 무엇인가를 만들어내는 것을 권장합니다. (ex. 포트폴리오, 코딩테스트 등) 하지만 SQLP는 달랐습니다. 회사에서 SQL 튜닝 업무를 맡게되어 데이터베이스에 대해서 공부할 수 밖에 없었는데 실무에 필요한 많은 내용이 자격증 시험 범위와 일치했습니다. 즉, 자격증 공부만으로 실무에 써먹을 내용이 많..

IT 이야기/DB 2022.08.25
반응형