본문 바로가기
728x90

IT41

[MS-SQL] PARTITION BY vs GROUP BY 차이 기존에 개발되었던 저장 프로시저를 보다가 문득 의문이 들었던 부분이다. 지금까지는 SUM 집계함수 절을 사용할때는 GROUP BY를 이용하여 특정 컬럼을 기준으로 합계를 구하는 방법만 사용해왔다.그런데 SUM절과 PARTITION BY절을 같이 쓰는 쿼리를 보게 되었다. 대충 구성은 아래와 같이 되어있다. SELECT VALUE_1, SUM(VALUE_2) OVER ( PARTITION BY VALUE_1 ) AS VALUE_2FROM TEST 아직 PARTITION BY를 잘 몰라 대체 왜? 굳이? GROUP BY가 아닌 PARTITION BY를 쓴거지? 어처피 GROUPING하는건 똑같이 않나? 라고 생각하고 PARTITION BY의 기능에 대해 찾아보.. 2025. 6. 19.
[MS-SQL] CONVERT 스타일 특징 이전에 정리한 MS-SQL CONVERT의 정리내용에 추가로 알게 된 내용을 정리해본다.https://noob-programmer.tistory.com/2 [MSSQL]날짜 형 변환 / CONVERT(자료형,DATETIME,형식)번호쿼리 결과코드 0 CONVERT(CHAR(19), DATETIME, 0) 01 02 2000 1:14PM MM DD YYYY H:MM 1 CONVERT(CHAR(10), DATETIME, 1) 01/02/2000 MM/DD/YYYY 2 CONVERT(CHAR(8), DATETIME, 2) 00.01.02 YY.MM.DD 3 CONVERT(CHAR(8), DATETIME, 3) 02/01/00 DD/MM/YY 4 CONVERnoob-programmer.tistory.com 📌.. 2025. 5. 30.
[MS-SQL] 속도 개선 방법 정리 1. 테이블 변수, 임시 테이블, CTE 적절히 사용 2. SET NOCOUNT ON; 3. 자료형 크기 조정 Flag 사용시에는 BIT 4. 테이블 생성 시 들어갈 데이터들을 생각 후 자료형 지정(ASCII CODE만(영어) 들어갈 것 같다 : varchar / UNICODE(한글)도 들어갈 것 같다 : nvarchar) 5. 테이블 INDEX 적극 사용 6. SELECT시 WITH(NOLOCK)을 사용 (단 Transaction도 조회가 되니 일관된 데이터가 아닐 수 있음) 7. 자주 사용되는 쿼리는 프로시저, 테이블 반환함수, 스칼라 반환함수를 적극적으로 사용 8. 트리거는 최소화하기 9. 될 수 있으면 프레임워크가 아닌 데이터베이스에서 처리 - 프레임워크에서 처리할 경우 클라이언트의 pc, 네트워.. 2025. 5. 22.
[MS-SQL] 실무에서 자주 사용되는 쿼리 - 1 두서없이 생각나는데로 적는거라 비슷한 함수여도 순서가 뒤죽박죽이니 감안하고 보시길.. 1. SET NOCOUNT ON;- 사용자에게 몇개의 행이 적용되었는지 알려주지 않을 때 사용. 아주 약간 성능 향상에 도움이 된다 2. RAISERROR(에러 메시지, 심각도, 상태)- 심각도 : 1~10:일반 사용자 정보, 11~16:사용자 정의 오류, 17~25:시스템오류 - 심각도를 10 이하로 주면 로그만 쌓이고 프로시저 수행에는 아무런 영향을 미치지 않음 - 11이상을 주면 실제로 오류가 발생되고, 실행된 Application에도 오류를 발생시킨다. - 20~25를 주면 클라이언트 연겨리 종료되고, 오류 및 Application Log 오류에 기록된다. - 어떤 위치에서 발생했는지 구분하기 위해 0~255.. 2025. 5. 19.
Notepad++ JSON 정렬 Notepad++ JSON 정렬많은 사람들이 애용하는 프로그램인 Notepad++에 오늘 처음 알게된 기능이 있다. 개발을 하다보면 JSON, XML등 다양한 방식의 데이터를 볼 일이 있는데, JSON방식을 보기 좋게 개행하여 보여주는 방법이 있었다.1. 플러그인 -> 플러그인 관리 2. 사용가능-> JSON Viewer 선택 후 닫기 3. JSON 형식의 Text를 전체 선택(Ctrl+A)후 Ctrl+Alt+Shift+M을 동시에 누른다 2025. 5. 14.
[MS-SQL] 자료형 정리 1. 정수형tinyint - 1바이트 (0~255) smallint- 2바이트 (-32768~32767) int- 4바이트 (-2,147,483,648 ~ 2,147,483,647) bigint- 8바이트 (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807) 2. 실수형float - 부동 소수점, 근사값 저장으로 데이터 손실 발생 가능성 있음, 속도가 빠름 decimal(n, m) - 고정 소수점, 정확한 수치 계산, 속도가 상대적으로 느림- n : 전체 자리수 (최대 38자리)- m : 소수점 이하 자리수(n보다 같거나 작아야 함) 3. 날짜형date- 3바이트- 기본 문자열 형식 : yyyy-MM-dd 2025. 5. 14.
728x90