반응형
반응형
현재 시간 확인 (getdate, current_timestamp) GETDATE() 년-월-일 시:분:초.밀리초로 구성 시스템의 날짜와 시간을 반환 -- 현재 시간 구하기 SELECT GETDATE() AS '현재시간' CURRENT_TIMESTAMP GETDATE()와 동일한 기능 년-월-일 시:분:초.밀리초로 구성 시스템의 날짜와 시간을 반환 SELECT CURRENT_TIMESTAMP AS '현재시간'보다 정밀한 현재 시간 확인 (sysdatetime) SYSDATETIME() GETDATE(), CURRENT_TIMESTAMP보다 더 정밀한 날짜와 시간을 반환 년-월-일 시:분:초.밀리초로 구성되나 밀리초의 구성이 더 정밀 시스템의 날짜와 시간을 반환 SELECT SYSDATETIME() AS ..
연결된 서버(Linked Server) 관련 글 보기 [ 연결된 서버 사용 방법] MSSQL - 연결된 서버(Linked Server) 생성과 사용 방법 [ 연결된 서버에서 오픈 쿼리 사용 방법 ] MSSQL - Openquery 사용 방법 / 연결된 서버와 오픈쿼리 차이점 / Linked Server의 쿼리 실행 속도 상승 시키기 [ 다른 RDBMS를 연결된 서버로 연결하기 ] MySQL MSSQL - 연결된 서버로 MySQL 연결하기 (Linked Server, Openquery) Oracle MSSQL - 연결된 서버로 Oracle 연결하기 (Linked Server) MS-SQL - 오라클 ODAC를 이용해서 연결된 서버를 연결해보자 (Oracle Instant Client, Linked Serv..
MERGE 개념 원본 테이블과의 조인 결과를 기반으로 대상 테이블에서 삽입, 업데이트 또는 삭제 작업을 실행 SQL의 'INSERT', 'UPDATE', 'DELETE' 작업을 조건에 따라 하나의 문으로 통합하여 처리하는 구문 주로 두 개의 테이블을 비교하고 데이터를 동기화하는데 사용 MERGE를 사용하는 상황에 따른 이점 두 개의 테이블 간 데이터를 동기화 해야 할 때 조건에 따라 특정 레코드를 업데이트하거나 삽입해야 할 때 대량의 데이터를 효율적으로 처리해야 할 때 구문 MERGE INTO target_table AS target USING source_table AS source ON WHEN MATCHED THEN -- or WHEN NOT MATCHED THEN WHEN NOT MATCHED B..
INSERT INTO SELECT 에 대한 사용법을 설명하기 전에 아래의 테스트 테이블 구조를 확인해봅시다. 테이블의 컬럼 정보 insertTestTable id int / auto increment / primary key 기본 키를 가지고 자동으로 1씩 증가하는 정수형의 id 이름을 가진 컬럼 name nchar(10) 문자열을 저장할 수 있는 name 이름을 가진 컬럼 기존의 INSERT 문법 기존의 인서트 문은 아래와 같습니다. INSERT INTO 테이블명 (컬럼명) VALUES (입력할값) -- 기존의 INSERT 문법 INSERT INTO insertTestTable (name) VALUES ('tester1') 아래와 같이 정상적으로 'tester1'이라는 데이터가 추가된 것을 확인할 수 ..
인덱스의 개념 원하는 데이터를 쉽게 찾을 수 있도록 책의 찾아보기와 유사한 개념 테이블을 기반으로 선택적으로 생성할 수 있는 구조 테이블에 인덱스를 생성하지 않아도 되고 여러 개를 생성 가능 기본적인 목적은 검색 성능의 최적화 즉, 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾도록 함 단, DML 작업은 테이블과 인덱스를 함께 변경해야 하기 때문에 오히려 느려지는 단점 존재 Insert, Update, Delete 등 인덱스의 종류 트리 기반 인덱스 (B-Tree Index) 특징 B-트리 인덱스는 DBMS에서 가장 일반적인 인덱스로 사용 일치 검색과 범위 검색에 모두 적합한 구조를 가짐 일치(Exact Match) 검색 : '='로 검색 범위(Range) 검색: 'BETWEEN', '>' ..
인덱스 조회하기 조회되는 정보 인덱스를 구성하고있는 테이블 이름 정의한 인덱스 이름 인덱스로 지정한 컬럼 이름 고유 값 여부 기본 키 여부 데이터베이스 내의 모든 인덱스 조회 SELECT t.name AS '테이블 이름', ix.name AS '인덱스 이름', c.name AS '컬럼 이름', ix.is_unique AS '고유한 값 여부', ix.is_primary_key AS '기본 키 여부' FROM sys.indexes ix INNER JOIN sys.tables t ON ix.object_id = t.object_id INNER JOIN sys.index_columns ic ON ix.object_id = ic.object_id AND ix.index_id = ic.index_id INNER J..