반응형
SMALL

분류 전체보기 77

[MS-SQL] 쿼리 속도 향상 / 인덱스 튜닝 관리자가 만들어주는 걸 써보자

쿼리를 만들고 나서 개발 테스트 하다보면 느린지 빠른지 모르겠다. 근데 운영에 반영하려면 인덱스가 필요한데 어쩌지 고민해본적 있을것이다. 저도 쿼리 속도 때문에 실행계획도 보고 하지만 어떻게 고치지 하고 매번 고민 합니다. 근데 인터넷 찾아보니 이런 방법이 있더라구요 다른분들도 해보세요 도움 되실거에요 1. 실행하려는 쿼리에 대해서 실행계획을 본다.(CTRL + L) 2. 실행계획을 실행하면 오른쪽에 빨간 부분에 ... 버튼이 활성화 된다. 3. 우클릭 팝업에서 누락된 인덱스 세부정보를 클릭 4. 쿼리창이 나오면서 인덱스를 생성하라고 나오면 인덱스 이름을 넣고 실행하면 된다. 이런 방법이 있었다니 이래서 공부를 해야한다는걸 느낀다. 세상이 너무 빨리 변하고 있다. 조건절에 따라 인덱스가 변하니 인덱스 만..

DB 2024.04.04

[MS-SQL] ROUND, CEILING 함수

오래간만에 쓰려고 하면 꼭 찾아보게 되는 함수 ROUND [반올림] --ROUND(값, 반올림 자릿수, [반올림 여부]) 구하려는 소수점 자리수의 한 자리 아래의 숫자를 반올림 혹은 버림한다. 반올림 여부가 0 또는 생략할 경우 반올림 반올림 여부가 음수값일 경우 버림 SELECT ROUND(1.456, 1) - 소수점 둘재 자리에서 반올림 결과 : 1.5 SELECT ROUND(1.456, 2) - 소수점 셋째 자리에서 반올림 결과 : 1.46 SELECT ROUND(1.456, 2, 0) - 소수점 셋째 자리에서 반올림 결과 : 1.46 SELECT ROUND(1.456, 2, -1) - 소수점 셋째 자리에서 버림 결과 : 1.45 CEILING(올림) --CEILING(값) 소수점 첫째자리에서 올림..

DB 2024.03.10

[MS-SQL] Management툴로 실행한 이전 쿼리 확인방법

어제 쿼리를 만들어서 조회까지 했는데 Management Tool을 종료해버려서 기억이 나지 않을때 아래 방법으로 해보라고 한다. 단, 휘발성 데이터로 지금까지 실행했던 모든 쿼리를 조회해주진 못한다. - 어플리케이션에서 실행했던 쿼리는 조회 안됨 - 해당 SQL Studio 에서 실행했던 쿼리가 아닌 쿼리는 조회 안됨 - 기간이 오래되어 히스토리에서 지워진 쿼리 또한 조회 안됨 Microsoft SQL Server Management툴에서 직접실행했던 쿼리들만 쿼리구문과 날짜로 보여준다. 한줄로 보여지는 쿼리라 주석이 없다면 Instant sql formatter로 변환하면된다. 목록에서 쿼리정렬 또는 2021.01.13일 만든 글자를 읽어보기 바란다. SELECT DB_NAME(ST.DBID) DBN..

DB 2024.03.10

[MS-SQL] 고정문자열 표현하기 ('01')

고정문자열 표현하기 앞에 무조건 0을 붙히는 방법이며 CASE 문으로 분기해서 두자지를 분류해주는 방법도 있다. SELECT REPLICATE('0', 1) + CAST(DATEPART(MM, GETDATE()) AS CHAR(2)) SELECT RIGHT('0' + RTRIM(CAST(DATEPART(MM, GETDATE() AS CHAR(5))),5) 결과 1 -> '01' 2 -> '02' 12 -> '012' SELECT CASE WHEN LENGTH(DATEPART(MM, GETDATE())) = 1 THEN REPLICATE('0', 1) + CAST(DATEPART(MM, GETDATE()) AS CHAR(2)) ELSE CAST(DATEPART(MM, GETDATE()) AS CHAR(2)..

DB 2024.03.08

[CANIS] 해당월과 다음월의 첫날 구하기

트로이아에서 날짜 한달간격을 조회하기 위해서 만들어 보았다. 트로이아에서는 날짜포맷이 외국기준이라 일.월.년 시:분:초로 넣어줘야만 가능하다. GLOBAL: DATE FDATE, DATE TDATE; /* 1. 해당월의 첫날과 다음달의 첫날 구하기 */ PFDATE = '01.' + PMONTH + '.' + PYEAR + ' 00:00:00'; PTDATE = ADDMONTHS(PFDATE, 1); 결과 '01.01.2021 00:00:00' '01.02.2021 00:00:00'

반응형
LIST