SQLP

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

Static·Dynamic SQL과 선택적 검색조건: NULL 의미·Bind·SQL Shape·보안

원래 이론 →

판단 기준

예시·텍스트
1. 조건이 없을 때 NULL Column을 포함할지 업무 의미를 정한다.
2. SQL 구조가 실제로 Runtime에 달라지는지 확인한다.
3. 구조가 고정되면 Static SQL을 우선 검토한다.
4. OR·NVL·UNION ALL의 결과를 NULL 데이터로 비교한다.
5. 조건 조합별 필요한 Access Path를 정한다.
6. Dynamic SQL이면 값은 Bind, 구조는 허용 목록으로 처리한다.
7. 생성 가능한 SQL Shape 수를 관리한다.
8. Placeholder 반복 규칙과 USING 인수 위치를 확인한다.
9. 단일행·다중행 결과 처리 도구를 선택한다.
10. 대표 Bind와 Data Skew별 Parent·Child Cursor Plan을 확인한다.
11. Parse Calls·Hard Parse와 전체 실행 비용을 함께 측정한다.
12. SQL Injection·권한·NLS·Bind 정보 노출을 점검한다.
이 부분의 원문 →

헷갈리는 개념

단순 판단정확한 기준
Dynamic SQL은 Literal을 연결하는 SQL이다구조는 동적이어도 값은 Bind로 전달 가능
Bind를 사용하면 SQL Injection 검토가 끝난다값은 Bind, 식별자와 Keyword는 허용 목록으로 검증
NVL 선택조건은 입력이 없을 때 항상 모든 행을 반환한다Nullable Column의 NULL 행이 제외될 수 있음
하나의 SQL이 유지보수에 항상 유리하다조건별 Access Path 차이와 Plan 안정성까지 비교
UNION ALL이면 두 Branch를 항상 모두 실행한다배타 조건과 실제 Starts로 Branch 실행 여부 확인
Dynamic SQL은 조건 조합만큼 무한히 만드는 것이 좋다자주 쓰는 안정적인 SQL Shape 수를 관리
같은 Placeholder 이름은 SQL에서도 한 번만 Bind일반 SQL Statement는 등장 위치별 USING 인수 필요
Bind는 Table·Column 이름에도 사용할 수 있다Bind는 데이터 값만 대체하며 구조는 Allowlist로 선택
DBMS_ASSERT를 쓰면 권한 검토가 끝난다Identifier 유효성 검증과 업무 허용·권한 검토는 별개
Bind 값은 진단 정보에 절대 노출되지 않는다Trace·Audit·Bind Capture 접근 권한을 관리
ACS가 모든 Bind 값에 자동 최적 Plan을 보장한다실제 Bind-Sensitive·Aware Child와 실행 통계를 확인

이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.