본문 바로가기

일상

[SQLD] 오답노트

다음 설명 중 적절한 것은 무엇인가?

① 인덱스는 인덱스 구성 칼럼으로 항상 오름차순으로 정렬된다.
② 비용 기반 옵티마이저는 인덱스 스캔이 항상 유리하다고 판단한다.
③ 규칙 기반 옵티마이저는 적절한 인덱스가 존재하면 항상 인덱스를 사용하려고 한다.
④ 인덱스 범위 스캔은 항상 여러 건의 결과가 반환된다.

더보기
정답 : 3
• 인덱스는 내림차순으로 생성 및 정렬된다.
• 비용적인 측면에서는 전체 테이블 스캔이 유리할 수 있다.
• 규칙 기반 옵티마이저의 규칙에 따라 적절한 인덱스가 존재하면 전체 테이블 스캔보다는 항상 인덱스를 사용하려고 한다.
• 인덱스 범위 스캔은 결과 건수만큼 반환한다. 결과가 없으면 한 건도 반환하지 않을 수 있다.

다음 중 인덱스 튜닝에 대해 잘못 설명하고 있는 것은?

① 인덱스를 경유한 테이블의 Random 액세스 부하가 심할 때, 클러스터 테이블이나 IOT를 활용하는 방안을 고려할 수 있다.
② 인덱스를 경유한 테이블 액세스 횟수가 같더라도 인덱스 구성에 따라 스캔 효율이 달라진다. 따라서 인덱스 스캔 효율을 높이기 위해 인덱스 칼럼 순서를 바꿔야 할 때가 종종 있다.
③ 조건절이 Where deptno = 10 and ename = ‘SCOTT’일 때 인덱스를 [deptno + ename] 순으로 구성하나 [ename + deptno] 순으로 구성하나 인덱스 스캔 효율에 차이가 없다.
④ 인덱스 튜닝의 핵심 요소 중 하나는 불필요한 테이블 Random 액세스가 발생하지 않도록 하는 데에 있다. 이를 위해 인덱스 칼럼 순서를 바꿔주는 것도 큰 효과가 있다.

더보기
정답 : 4 
인덱스 칼럼 순서를 아무리 바꾸어도 테이블 Random 액세스 횟수는 줄지 않는다.

엔티티에 대한 개념 중 엔터티 정의의 공통점 3가지가 아닌 것은?

① 데이터베이스 내에서 변별 가능한 객체이다.
② 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당된다.
③ 저장되기 위한 어떤 것(Thing)이다.
④ 업무상 관리가 필요한 관심사에 해당된다.

더보기
정답 : 1
엔티티(Entity)의 3가지 공통점은 다음과 같다.
• 개념, 사건, 사람, 장소 등과 같이 명사이다.
• 비즈니스 프로세스에서 관리되어야 하는 정보이다.
• 저장이 필요한 어떤 것이다.

Sort Merge 방식의 조인이 Nested Loop 방식 조인보다 효율적으로 판단되는 것을 고르시오.

① 기본키와 외래키 관계에서 외래키에 인덱스가 없을 때
② 사용자가 발주한 주문에 대해서 체결 정보 한 건을 확인할 때
③ 병렬로 테이블을 읽고 SORT_AREA_SIZE가 작은 경우
④ Random Access가 자주 발생하지 않을 때

더보기
정답 : 1
Sort Merge 방식의 조인은 두 개의 테이블을 Sort 한 후에 Merge를 한다. Merge가 완료되면 한 번의 Full Scan으로 데이터를 검색한다. 따라서 기본키와 외래키 관계에서 외래키에 인덱스가 없을 때 옵티마이저가 Sort Merge 방식의 조인으로 동작하게 한다.

다음 주어진 그룹 함수와 동일한 결괏값을 반환하는 그룹 함수를 고르시오.

GROUP BY CUBE(DEPTNO, JOB);

① GROUP BY ROLLUP(DEPTNO, JOB);
② GROUP BY (DEPTNO, JOB, (DEPTNO, JOB), ());
③ GROUP BY DEPTNO UNION ALL GROUP BY JOB UNION ALL GROUP BY (DEPTNO, JOB);
④ GROUP BY GROUPING SETS (DEPTNO, JOB, (DEPTNO, JOB), ());

더보기
정답 : 4
그룹 함수 중 CUBE는 CUBE 함수에 제시된 칼럼에 대해서 결합 가능한 모든 집계를 계산한다.