본문 바로가기

DBMS

(20)
Mysql EXPLAIN SELECT TYPE SELECT TYPE 명 설명SIMPLE일반적인 SELECT 문. 복잡한 UINON 이나 서브쿼리가 없는 경우 단순 테이블에서 데이터를 가져와 결과 반환 하므로 가장 빠름PRIMARY복잡한 쿼리에서의 최상의 쿼리문의 경우SUBQUERYSELECT 문 안에서 서브쿼리를 사용한 경우 DEPENDENT SUBQUERY서브쿼리가 외부 쿼리로부터 값을 참조하여 실행한 경우DERIVEDFROM절에서 쓰인 서브쿼리 (인라인 뷰)UNION UNION 또는 UNION ALL 사용한 경우DEPENDENT UNIONUNION의 서브쿼리가 외부 쿼리로부터의 값을 참고하여 실행하는 경우UNION RESULT UNION 결과로 생성된 임시 테이블에 대한 SELECT 문을 실행하는 경우  JOIN TYPETY..
Hyper-V 설치 (CMD, DISM 사용) 관리자 권한으로 CMD 실행 명령어 입력 DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
[MSSQL] VARCHAR to DATETIME 형 변환 VARCHAR(14) 형태의 DATECODE를 DATETIME으로 변환 getDate()한 조회 일시와 DATECODE의 DATEDIFF 값이 필요하여 작업 SELECT convert(DATETIME,(stuff(stuff(stuff( DATECODE ,13,0,':'),11,0,':'),9,0,' '))) as conDateTime
[MSSQL] Clustered, Nonclustered 차이 1-1. Clustered Index Clustered Index 키로 데이터 정렬 이 키로 데이터를 찾을 경우 'Clustered Index Seek' 발생 클러스터형 인덱스는 루트 페이지와 리프 페이지로 구성되며 리프노드가 데이터 페이지에 있기때문에 데이터에 바로 접근 가능 행 데이터는 해당 열로 정렬한 후에 루트 페이지를 만들게됨 테이블에 한 개만 생성할 수 있으며 어느 열에 생성하느냐에 따라 시스템 성능이 변동됨 데이터 입력,수정,삭제시 항상 정렬 상태를 유지 PK가 고유값 기능만한 하고 조회쿼리에 사용빈도가 없을 경우에는 PK를 Non Clustered로 생성 PK가 무조건 Clustered Index는 아님 1-2. Clustered Index 선택 기준 Unique 할 것 : 유니크하지 않은..
[MSSQL] Key의 종류 1. 후보키(Candidate Key) 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시키며 기본키로 사용 할 수 있는 키 하나의 릴레이션 내에서 중보된 튜블이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재 2. 기본키(Primary Key) 후보키 중에서 선택한 Main Key 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성 Null 값을 가질 수 없음 3. 대체키(Alternate Key) 후보키가 둘 이상일 때 기본키를 제외한 나머디 후보키들 4. 외래키(Foregin Key) 릴렐이션에 소속된 속성이 다른 릴레이션의 기본키가 되는 키 5. 슈퍼키(Super Key) 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키 릴레이션을 구성하는 모든 튜플들 중 ..
[MSSQL] SQL Server 성능 확인을 위한 '성능 모니터' SQL Server 범주 성능 카운터 참고 Access Methods (데이터베이스에 있는 데이터, 인덱스, 여유 공간의 양을 모니터링 하여 각 서버 인스턴스에 대한 데이터 볼륨 및 조각화 상태를 나타낼 수 있음) Full Scans/sec 초당 제한되지 않은 전체 검색 수 단일 데이터베이스가 아닌 전체 서버에 대한 값으로 기본 테이블이나 전체 인덱스 검색이 될 수 있음 Index Searches/sec 초당 인덱스 검색 수 범위 검색 시작, 범위 검색 위치 조정, 검색 지점 다시 검사, 단일 인덱스 레코드 인출, 새로운 행을 삽입할 장소를 찾기 위한 인덱스 검색 등에 사용 Page Splits/sec 인덱스 페이지 오버플로의 결과로 발생한 초당 페이지 분할 수 SQL Server가 과도한 페이지 분할을..
[MSSQL] 컬럼값 한글, 영어 구분하는 법 한글 조회 SELECT Name FROM table WHERE Name like '%[가-힣]%' 영어 조회 SELECT Name FROM table WHERE Name like '%[A-Za-z]%'
[MSSQL] 특정 날짜 요일 구하기 DATEPART, DATENAME DATEPART(DW,날짜) 숫자로 요일 표기 (일요일부터 토요일까지 1~7) DATENAME(DW,날짜) 문자로 요일 표기