블로그는 나의 힘!
[ Programing ]/Database2021. 12. 2. 14:43

SET NOCOUNT ON      -- 실행 결과 화면 미표시

SET NOCOUNT OFF     -- 실행 결과 화면 표시
  

'[ Programing ] > Database' 카테고리의 다른 글

MS-SQL DB 생성하기. (DB Instance)  (0) 2021.12.03
MS-SQL SET TRANSACTION ISOLATION LEVEL  (0) 2021.12.02
MS-SQL .Bak .Bacpac 백업 차이  (0) 2021.11.24
MySQL Json Type  (0) 2021.11.04
C++ MySQL Library 적용하기.  (0) 2021.11.04
Posted by Mister_Q
[ Programing ]/C++2021. 11. 25. 15:16

1. 메모리 할당 해제 free / delete
Malloc과 New 둘 다 동적 메모리 할당을 위해 사용한다.
할당된 메모리를 해제하기 위해선
malloc -> free
new -> delete 로 메모리를 해제한다.


2. 초기화 가능 유무
Malloc은 초기화 불가능
New는 초기화 가능 (멤버 리스트 초기화)


3. 함수 / 키워드
malloc은 stdlib.h 제공 함수로 함수 콜이 요청됨
new는 C++에서 제공하는 키워드로 라이브러리 없이 바로 사용 가능


4. 생성자의 호출 유무
malloc은 바로 메모리를 할당하지만
new는 생성자를 호출한 뒤에 메모리를 할당한다. 그러기에 두번째 차이점처럼 초기화가 가능하다.



5. void* 메모리 할당.
malloc은 void*형 메모리 할당 해 준다.
void 타입이니 당연히 할당 메모리 사이즈 지정이 필요 하다.
void* 할당되면 사용할 타입에 맞게 해주면 캐스팅도 필요 하다.
new는 원하는 타입을 지정해 할당 하니 캐스팅이 필요 없다.


6. 재할당의 효율성 realloc
객체의 경우 new를 사용하는 편이 맞지만, 
재할당이 많이 일어날 예정인 경우는 malloc으로 동적 할당하는 경우가 나을 경우도 있다.

new로 할당 받은 공간은 realloc같은 함수가 없기에 다시 할당 해줘야 한다.
즉, 복사 -> 삭제 -> 할당 과정이 다시 일어난다.
하지만 malloc으로 할당 받은 공간은 realloc이라는 함수를 통해 재할당이 간단히 이뤄진다. (메모리만 다시 잡아준다.)




 

[출처] [C++] Malloc vs New 무슨 차이?|작성자 로켓다람쥐

 

로켓다람쥐 : 네이버 블로그

"모든 것은 가장 기본적인 것들로 이루어져있다!"

blog.naver.com

 

C++] malloc 과 new의 차이! : 네이버 블로그 (naver.com)

 

C++] malloc 과 new의 차이!

#delete #malloc #new #free 공통점으로는 서로 heap영역에 메모리를 잡아주는 역할을 한다. 즉, 동적할당...

blog.naver.com

 

 

'[ Programing ] > C++' 카테고리의 다른 글

C++ MiniDump Review  (0) 2022.01.21
Memory Access Violation - 메모리 접근 위반.  (0) 2022.01.19
MySQL C++ API / ODBC  (0) 2021.11.09
모두의 코드  (0) 2021.10.28
C++ Json Type 대입.  (0) 2021.10.25
Posted by Mister_Q
[ Programing ]/Database2021. 11. 24. 17:23

.Bak 백업.
전체 백업. snapshot on current time.
전체 DB의 모든 데이터를 꺼내감.



.Bacpac 백업.
둘 사이의 비교점에 대한 스냅샷 백업. snapshot between some time and current time.
A시점부터 B시점까지 사이의 스냅샷.




* .Bacpac 스냅샷 백업은 두 시점간 다른점만 뽑아서 "압축"해 추출함.
그래서 .bacpac 백업은 메모장으로 열어봐도 확인 불가. (암호화 된건 암호화 상태로 되어 있다. 이게 큰 리스크다).
가능하면 .bak 백업이 유리하다. (100%는 아니라도 일단 메모장으로도 열어 볼수 있는 장점)


bacpac는 쿼리 실행문이라 명령문이 크다면 한번에 실행이 안되는 리스크도 있음.
과거버전과 현재버전 사이를 스냅샷 하는거라 용량이 작고 각 시작 버전 사이가 명확하다면 사용해도 문제 없지만,
시간대별로 제대로된 덤프가 없다면 무용지물

단, 원격 제어로 백업인 경우 어쩔수 없이 데이터 계층 스냅샷 백업(.bacpac) 외엔 방법이 없다.
원격으로 .bacpac 백업 추출 후 로컬에서 복구 한뒤 다시 .bak로 백업 하는거 외엔 딱히 방법이...




 

'[ Programing ] > Database' 카테고리의 다른 글

MS-SQL SET TRANSACTION ISOLATION LEVEL  (0) 2021.12.02
MS-SQL SET NOCOUNT ON  (0) 2021.12.02
MySQL Json Type  (0) 2021.11.04
C++ MySQL Library 적용하기.  (0) 2021.11.04
HeidiSQL Tool 리뷰.  (0) 2021.11.04
Posted by Mister_Q