Type 명령어 - 여러 파일을 1개 파일로 병합

SQL 튜닝을 하다보니 점점 SQL Full Source를 봐야 마음이 편해진다. 개발자가 튜닝 요청시 바인드 변수를 "필수"와 "옵션" 조건을 구분하더라도, SQL을 전체적으로 보면 다른 문제점 또는 해결방법을 찾아내기 때문이다. 그래서 SQL 튜닝을 본격적으로 시작하기 앞서, XML 파일에서 SQL 원본을 찾아 확인한다.

 

그런데 문제는 Mybatis Xml 파일은 1 ~ 2개가 아니어서 여러파일에서 SQL을 찾아야한다.업무 생산성이 좋지 않으므로 Window "Type" 명령어로 여러 XML 파일을 1개 파일로 병합시키자.( 그 외 추가적인 기능도 아래에 메모해 둔다 )

 

 

[ 1 ] Type 명령어

: Linux의 cat 명령어와 매우 유사하다.  대상 파일은 "space"로 구분하여 추가하면 된다.

1) 파일 병합 (***)

type 복사대상파일명1 복사대상파일명2 .. > 신규생성파일명

 

2) 화면 출력 ( 복수개 파일명이면 연결하여 출력됨 )

type 출력대상파일명1 ..
 

3) 파일 내용 추가 ( >> , append )

type 출력대상파일명1 .. >> 신규생성파일
 

4) 파일 내용 복사 ( >, Copy & Paste )

type 출력대상파일명1 .. > 신규생성파일명

 

[ 2 ] 테스트

1. 파일 병합

1.1. 복사 대상 파일 2개 확인

- ProductMapper.xml, UserMapper.xml

SQL XML 파일 2개

1.2. TYPE 명령어로 파일 병합하기

- 2개 파일을 신규 파일(Unified_SQL_20241012.xml)에 병합

type ProductMapper.xml UserMapper.xml > Unified_SQL_20241012.xml

 

1.3. 결과 확인 : 생성된 파일 용량이 복사 대상 2개 파일과 동일하다

2. 화면 출력

2.1. 병합된 파일 출력

: 단순 Merge된 결과를 볼 수 있다.

type Unified_SQL_20241012.xml

 

2.2. 개별 파일 2개 연결하여 조회 ( 이미지 생략 )

D:\xml>type UserMapper.xml ProductMapper.xml

3. 파일 내용 추가 ( >> )

: 아래는 1개 파일 ">" 후에 ">>" 처리 하였다. ">" 은 Copy & Paste, ">>"은 append 개념이다.

결과적으로 UserMapper.xml 내용이 2번 반복하여 kth.xml 에 저장되었다. ( 이미지 생략 )

D:\xml>type UserMapper.xml > kth.xml D:\xml>type UserMapper.xml >> kth.xml D:\xml> kth.xml

 

4. 파일 내용 복사 ( >, 덮어쓰기 )

: 앞서 언급했듯이 ">" 은 Copy&Paste , kth.xml에는 UserMapper.xml 내용이 1번만 저장되어 있다. ( 이미지 생략 )

D:\xml>type UserMapper.xml > kth.xml D:\xml>type UserMapper.xml > kth.xml D:\xml> kth.xml