- 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL
- 일반적인 프로그래밍 언어에 비해 비효율적이지만 단일 SQL문장으로 처리하기 어려운 연속적인 작업을 처리하는데 적합
- 다양한 기능을 수행하는 저장 모듈 생성 가능
- DBMS 엔진에서 직접 실행되기 때문에 입 · 출력 패킷이 적은 편
- BEGIN ~ END 형식의 블록구조
- 프로시저(Procedure)
- 특정 기능을 수행하는 트랜잭션 언어
- 호출을통해 실행되어 미리 저장해 놓은 SQL작업 수행
- 트리거(Trigger)
- CRUD 등의 이벤트(Event)가 발생할 때마다 관련 작업이 자동으로 수행
- 사용자 정의 함수
- 프로시저와 유사 = 일련의 작업을 연속적으로 처리
- 종료 시 예약어 Return을 사용해 처리 결과를 단일값으로 반환
1. 테스트와 디버깅
- 테스트를 통해 오류를 발견한 후 디버깅을 통해 오류가 발생한 소스 코드를 추적하며 수정
- 디버깅 : 적합성 여부를 검증
- 테스트 : 실행을 통해 결과를 확인
- 테스트 전에 구문오류(Syntax Error)나 참조 오류 존재 여부 확인
- SHOW 명령어로 메시지 상세히 확인하고 문제를 수정
- 디버깅을 통해 로직을 검증하고 결과를 통해 최종적으로 확인
- 실제 변화를 줄 수 있는 삽입, 변경 관련 SQL문은 주석으로 처리
- 출력문을 이용해 화면에 출력하여 확인
2. 쿼리 성능 최적화
- 성능향상을 위해 SQL 최적화
- 최적화 하기 전 성능 측정 도구 APM을 사용해 최적화할 쿼리를 선정
- 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL코드와 인덱스를 재구성
- 옵티마이저 : DBMS에 내장되어 작성된 SQL이 효율적으로 수행되도록 최적의 경로를 찾아주는 모듈
📖 Reference
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
[2과목 소프트웨어 개발] 통합 구현 - 044. 단위 모듈 테스트 = 단위 테스트(Unit Test) (0) | 2024.06.24 |
---|---|
[2과목 소프트웨어 개발] 통합 구현 - 043. 단위 모듈 구현 (0) | 2024.06.24 |
[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 041. 데이터 입 · 출력 (0) | 2024.06.18 |
[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 040.데이터베이스 개요 (0) | 2024.06.17 |
[2과목 소프트웨어 개발] 데이터 입·출력 구현 - 038. ⭐ 정렬 (Sort) (0) | 2024.06.17 |