Toad for Oracle 기본강좌
표준화된 SQL문을 생성하는 방법 (SQL Formatter) 1 2 99,999+

by 토드 Toad 통합에디터 Toad SQL Formatter [2014.04.13]


SQL문은 같은 SQL문이라고 해도 작성하는 사람마다, 작성할 때마다 다른 형태로 작성되기도 합니다. 이렇게 SQL문이 표준화되지 않고 각자의 스타일대로 작성하게 되면 코드의 가독성이 떨어지고 유지 보수에 불필요한 시간과 비용이 소요될 수 있습니다.

또한 오라클 서버 입장에서는 서로 같은 쿼리라고 하더라도 대소문자의 차이, 띄어쓰기 차이에 의해 서로 다른 쿼리라고 인식하고 불필요한 하드 파싱을 일으켜 전체적인 DB 성능에 악영향을 미칠 수 있습니다.

아래 두 쿼리는 정상적인 쿼리이며 동일한 결과를 가져오는 같은 쿼리입니다.

하지만 대소문자, 줄 바꿈 등이 제각각 작성되어 있어서 가독성이 떨어집니다. 그리고 오라클 서버는 완벽하게 문법적으로 동일한 쿼리에 대해서만 같은 쿼리로 인식하기 때문에 위의 SQL은 서로 다른 쿼리로 인식하여 두 번의 하드 파싱 과정을 거칩니다.

  • Toad SQL Formatter

Toad의 Formatting 기능을 이용하면 이런 비효율적인 문제를 해결할 수 있습니다. Editor창에서 마우스 오른쪽 버튼을 눌러 Formatting Tools를 선택하면 모든 SQL을 표준화 시킬 수 있습니다.

  • Toad SQL Formatter

Format을 적용하면 Toad에서 미리 지정한 기본 Rule에 따라 SQL문을 일괄 표준화시킵니다.

  • Toad SQL Formatter
  • [Format 선택할 때]

Format은 들여쓰기, 띄어쓰기, 줄 바꿈, 대소문자 등을 모두 표준화 시키는 반면 Format Case Only는 대소문자만 변환(표준화)시킵니다.

  • Toad SQL Formatter
  • [Format Case Only 선택할 때]

Toad Formatter의 특징은 SQL문의 표준화 Rule을 프로젝트 코딩 규칙이나 사용자의 기호에 맞게 하나하나 상세하게 수정할 수 있다는 것입니다.

Menu > Toad Options > Formatter로 이동하면 Format 옵션을 수정할 수 있습니다. 그리고 [My Example Code] 팝업 창을 통해서 옵션을 바꿀 때마다 실제 SQL에 어떻게 적용되는지 즉시 확인할 수 있습니다.

  • Toad SQL Formatter

그리고 이렇게 수정한 Rule을 다른 사용자와 공유할 수 있습니다. 팀 단위 개발 업무 시에 SQL표준화 Rule을 만들고 배포하면 팀 전체 사용자가 동일한 SQL 작성 표준을 지킬 수 있고 효율적인 작업을 진행할 수 있습니다.

  • Toad SQL Formatter

  • - Toad 및 DB 모니터링, 복제, 백업, 네트워크 보안 등 구입 문의
  • - 담당자 : 퀘스트소프트웨어 윤현진 팀장
  • - Tel : 02-3420-9000, 9025(직) HP : 010-3206-4360 Email : Hyunjin.Yoon@quest.com
  • - Toad 커뮤니티 게시판 바로가기
  • - 견적 문의
   

- 강좌 URL : http://www.gurubee.net/lecture/2728

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 김성율 [2014.07.11 16:32:09]

감사합니다 :)


by 아발란체 [2014.09.24 17:40:54]

기능은 많은데... 개수만큼 실속은 많은 것 같지 않습니다.

 

SELECT

[TAB] field1, field2 ..

FROM

[TAB] TABLE_NAME

WHERE

[TAB] field1 = :keyword, ....

ORDER BY

[TAB] field1

 

있는 방법으로 위와 같이 적용하고 싶었는데 정규식 기능을 써도 잘 안되는 것 같습니다.

그냥 위 타이핑한 유사 방법으로 인식해서 적용된다면 관련 많은 기능들이 무색할 것 같은데 아쉬움이 남는 부분인 것 같습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입