일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ERROR_MESSAGE
- 튜닝
- 재귀멤버
- TRANCOUNT
- 요청매핑
- java
- 함수
- 요약
- spring
- git
- XWPF
- XACT_STATE
- SQLSTATE=42705
- MSSQL
- 앵커멤버
- 프론트컨트롤러
- 교육법
- 진경혜
- 스프링
- 아이
- 배치
- 디스패처서블릿
- renameTo
- HWPF
- SQL
- 홈스쿨링
- transferTo
- 자바
- getChannel()
- dm_exec_requests
- Today
- Total
목록Database (30)
필기노트
보호되어 있는 글입니다.
1. xp_cmdshell이란 MSSQL에서 운영체제 명령을 실행할 수 있도록하는 함수입니다. 다음쿼리를 이용해서 xp_cmdshell이 활성화 되어 있는지 확인할 수 있습니다. SELECT * FROM sys.configurations WHERE name = 'xp_cmdshell' 만약, xp_cmdshell이 비활성화되어 있다면 다음과 같은 쿼리를 이용해서 활성화시킬 수 있습니다. EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'xp_cmdshell', 1 GO RECONFIGURE GO 2. BCP : 대량 복사 프로그램 유틸리티(bulk copy program utility, bcp) : bcp 유..
보호되어 있는 글입니다.
1. PRINT 시 100까지 출력 못하고 87번째에서 잘렸다. DECLARE @CR AS VARCHAR(1) = CHAR(13) DECLARE @EXEC_SQL AS VARCHAR(MAX) = '' DECLARE @NUM INT = 1 WHILE @NUM
1. 해당 쿼리문을 '도구-옵션-키보드-쿼리 바로 가기'에서 단축키 등록 SELECT distinct name FROM sys.sysobjects AS A WITH(NOLOCK) INNER JOIN sys.syscomments AS B WITH(NOLOCK) ON A.id = B.id WHERE b.text like 2. 해당 구문을 블록 잡아서 단축키 버튼을 실행하면 '%cust_nm%' 3. 해당 구문을 포함하고 있는 프로시저명 혹은 함수명 리스트가 나올 것이다. 4. 'sp_helptextx'를 단축키 등록한 뒤 (텍스트가 아니라 표로 결과를 표시한다.) 5. 보고자 하는 프로시저명 및 함수명을 블럭잡고 단축키를 눌러 내용을 확인한다. 참고 [MSSQL] 프로시져 및 함수 내용 조회 쿼리문 1. s..
보호되어 있는 글입니다.
1. MAX 함수를 사용하여 체번을 하는 프로그램에서 종종 보게 되는 오류들 (1) MAX(seq) +1 대신 MAX(NVL(seq, 0)) + 1을 사용하는 경우 인덱스를 사용할 수 있도록 MAX와 NVL의 위치를 바꾸어 NVL(MAX(seq), 0) + 1로 작성해야 한다. (2) MAX(seq) + 1 대신 MAX(TO_NUMBER(seq)) + 1을 사용하는 경우 위 경우와 마찬가지로 생성한 인덱스를 활용할 수 없는 SQL이다. 이 경우 seq 컬럼을 NUMBER 데이터 타입으로 변경하고 TO_NUMBER 함수를 제거하는 방안을 고려해야 한다. (3) 인덱스를 seq 컬럼으로만 생성한 경우 WHERE절의 col_1 = '1' 부분을 삭제하거나, 인덱스를 col_1 + seq로 변경해야 한다. (4..
1. NESTED LOOP JOIN 드라이빙 테이블로 선정된 테이블부터 WHERE절에 정의된 검색 조건을 만족하는 데이터들을 걸러낸 후, 이 값들을 가지고 조인 대상 테이블을 반복적으로 검색하면서 조인 조건을 만족하는 최종 결과값을 얻어 내는 방식을 말한다. NESTED LOOP JOIN 방식으로 조인을 할 경우, 드라이빙 테이블의 조건을 만족하는 결과 데이터가 많다면 그만큼 반복해서 INNER TABLE에 접근해야 하므로 성능은 자연히 나빠질 것이다. 따라서 NESTED LOOP JOIN 방식을 채택할 때는 드라이빙 테이블의 선택이 매우 중요하며, 조인 순서에 대해서도 고려하는 것이 좋다. 또한 INNER TABLE의 조인 조건으로 사용될 컬럼에 인덱스가 존재하는지 여부도 성능을 좌우하는 중요한 요소이..
목차 1. 인덱스 컬럼 선정 가이드 2. 인덱스를 사용하지 못하는 경우 3. INDEX SCAN보다 FULL TABLE SCAN이 효율적인 경우 1. 인덱스 컬럼 선정 가이드 조건을 만족하는 값이 전체 데이터의 15~20% 이내라면 인덱스를 생성하는 것이 좋다. 조건절에서 비교해야 하는 컬럼이 여러 개이고, 그 중 하나의 컬럼으로 인덱스를 만드는 것만으로 효과가 미미하다면 여러 컬럼을 조합하여 만드는 결합 인덱스를 생성해야 한다. 결합 인덱스를 구성하는 컬럼의 순서는 성능을 크게 좌우한다. (1) 조건절에 항상 사용되는 컬럼 결합 인덱스의 첫 번째 컬럼이 조건절에서 사용되지 않으면, 이 인덱스가 활용될 가능성은 줄어든다. 조건절에서 사용된 컬럼이 결합 인덱스의 선두 컬럼으로 구성되어 있어야 성능 검색에 ..
보호되어 있는 글입니다.