본문 바로가기
728x90

IT/MSSql14

[MSSQL] 쿼리 튜닝 - 임시 테이블 쿼리 튜닝 - 임시 테이블튜닝 공부 1회차 XML을 읽어 MERGE하는 연습을 해보던 중 성능이 궁금하여 실행 계획을 살펴봤다.2가지의 임시테이블을 사용하는 경우를 테스트 해보았다.1. 임시테이블 CREATE와 동시에 INSERTSELECT *INTO #TMPFROM( SELECT OrderID, ProductID, Quantity FROM OPENXML(@idoc, '/ROOT/Customer/Order/OrderDetail',3) WITH ( OrderID VARCHAR(10), ProductID VARCHAR(20), Quantity INT )) AS #TMP 2. 임시테이블을 CREATE한 후 INSERTCREATE TABLE #TMP ( OrderID INT,.. 2025. 4. 24.
[MSSQL] 문자 띄어쓰기 해결법 (SSMS) 얼마 전 이직 후 이 PC에서 SSMS만 사용하면 문자 입력방식이 전자로 바뀌는 문제가 생겼다.(엄청난 스트레스..)저처럼 계속 반복해서 발생하는게 아니라면 [Ctrl + =] 을 동시에 누르면 해결이 되지만 저는 SSMS만 사용하면 계속 바뀌는 문제였어서 근본적인 해결책이 아니였습니다. 해결방법을 찾아보던 중 글을 하나 발견해서 소개해드릴까합니다.(아직 저도 테스트중입니다. 2시간째 안바뀌고 있긴합니다만..좀더 써봐야죠) 윈도우11 기준 설정 - 시간 및 언어 - 언어 및 지역 - 옵션 이전 버전의 Microsoft IME를 활성화 2025. 4. 22.
[MSSQL] SP_LOCK (LOCK 조회) Microsoft SQL Sever Management Studio를 사용하다보면 쿼리문의 실행시간이 비정상적으로 길어지거나 요청시간이 초과하여 강제 종료되기도 합니다. 그런 상황이 발생했을때 확인해 볼 수 있는 방법들 중 SP_LOCK을 소개합니다. 1. EXEC SP_LOCK - 여기서 필요한 항목은 spid, Mode의 값이 무엇인지 확인합니다. Mode의 값이 X로 되어있다면 바로 그 부분이 Lock이 걸린 부분입니다. 2. EXEC SP_WHO [SPID], EXEC SP_WHO2 [SPID]- LOCK이 걸린 부분의 사용자가 누구인지 확인합니다.(다른사람이 잡아둔 LOCK이 있다면 함부로 KILL하지 말자..) 3. DBCC INPUTBUFFER([SPID])- 스크립트를 조회해본다. 4.. 2025. 4. 22.
[MSSQL] DB 스케줄 자동 백업 관리 1. 개체 탐색기에서 관리 - 유지 관리 계획에서 우클릭하여 유지 관리 계획 마법사를 클릭합니다. 2. 등록할 스케줄의 이름, 설명, 일정을 설정합니다. 2-1 일정등록-빈도는 상황에따라 일별, 주별 등을 선택합니다.-위에서 선택한 빈도에 하루에 몇번 백업 작업을 실행할 것인지 선택합니다.-등록할 백업 스케줄의 시작일짜와 종료일자를 선택합니다. 3. 데이터베이스 백업(전체)와 유지 관리 정리 태스크를 체크합니다.-유지 관리 정리 태스크는 이후 백업받은 데이터가 많이 쌓이지 않게 삭제해주기 위해 추가합니다. 4. 백업할 데이터 베이스를 선택해줍니다. 5. 백업할 위치와 삭제 주기를 선택한 후 다음버튼을 눌러 종료합니다. Tip.1. 백업 시간은 사용자가 해당 DB를 사용하지 않는 시간대에 등록하는 것이 .. 2025. 4. 22.
[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 CONVERT(CHAR(8), DATETIME, 4) 02.01.00 DD.MM.YY 5 CONVERT(CHAR(8), DATETIME, 5) 02-01-00 DD-MM-YY 6 CONVERT(CHAR(8), DATETIME, 6) 02 01 00 DD MM YY 7 CONVERT(CHAR(9.. 2025. 4. 22.
[MSSQL] 쿼리 속도 향상을 위한 팁 - 3 SET NOCOUNT ON 프로시저를 호출하여 사용할 때 transaction이 수행되는 부분이 많이 발생하는데, 이 때 SSMS에서는 (1개의 행이 영향을 받음 이라는 문구를 출력하는 것을 본적이 있을 것이다. 이 기능을 사용하지 않음으로써 약간의 프로시저 속도 향상에 도움이 된다.저장 프로시저를 사용중이라면 최상단에 넣자.. Default : SET NOCOUNT OFF : (n개의 행이 영향을 받음)메세지 출력SET NOCOUNT ON : 메세지 출력 안함 2025. 4. 22.
728x90