본문 바로가기

SQL8

MSSQL MERGE (UPSERT) POSTGRES 에서는 ON CONFLICT DO UPDATE 절로 사용하지만 MSSQL 은 MERGE 구문을 이용한다. postgres 의 upsert mssql 의 merge 동시성 처리시 SELECT , UPDATE, INSERT, DELETE 를 한개의 구문에서 처리할 수 있는 유용한 쿼리 구문이다. NOT MATCHED 에서 UPDATE, DELETE 를 수행하고자한다면 WHEN NOT MATCHED BY SOURCE THEN 으로 수정해 작업한다. 2020. 10. 19.
[MSSQL] 미사용 인덱스 검색 쿼리 인덱스를 과도하게 많이 생성할 경우 insert 작업의 성능이 저하될 수 있다.위 쿼리를 이용해 인덱스가 사용된 수와 관리되어야 하는 인덱스 수를 비교해보면 인덱스가 사용되는 것인지 아닌지를 판별할 수 있다. 1. 실전 SQLServerMVP61 - Part01. 03 - 구조적 성장의 고통 2020. 9. 21.
[MSSQL] 캐시된 실행계획에서 누락된 인덱스 정보를 가지고 있는 개체 찾기 Object Name - 인덱스를 추가함으로써 이득을 볼 수 있는 개체의 이름Query Plan - 인덱스를 추가함으로써 이득을 볼 수 있는 개체에 대한 실행 계획Object Type - 저장 프로시저, 트리거, 뷰와 같은 SQL 구문의 원천 소스Use Counts - 개체가 사용된 수 1. 실전 SQLServerMVP61 - Part01. 03 - 구조적 성장의 고통 2020. 9. 21.
[MSSQL] 누락된 인덱스 찾기 Index Advantage - 인덱스 검색 수와 테이블에 이 인덱스 검색을 수행했을 때의 평균 비용을 고려한 식Last User Seek - 검색이 발생한 마지막 시각Database.Schema.Table - 인덱스를 만들었을 때 성능에 도움이 되는 테이블Equality columns - 같음(=) 조건과 같이 값이 데이터가 정확히 일치하지 않는 조건을 가진 열 목록Inequality columns - 같지 않음 () 조건과 같이 데이터가 정확히 일치하지 않는 조건을 가진 열 목록Include columns - 커버링 인덱스로 만들기 위해 인덱스에 포함시켜야 하는 열 목록Unique Compiles - 인덱스로 인해 이점을 얻을 수 있는 SQL 구문의 컴파일과 재컴파일 수 User Seeks - 인덱스.. 2020. 9. 21.