본문 바로가기

반응형

MS-SQL

MSSQL 인덱싱된 뷰로 성능 최적화하는 방법 MSSQL에서 복잡한 쿼리를 반복적으로 실행하거나, 대용량 데이터를 그룹핑하거나 집계할 때 성능 병목 현상이 자주 발생합니다. 이럴 때 **인덱싱된 뷰(Indexed View)**를 잘 활용하면 쿼리 속도를 대폭 향상시킬 수 있습니다.이 글에서는 인덱싱된 뷰의 개념부터 조건, 사용법, 그리고 실무 적용 팁까지 안내해 드립니다. 인덱싱된 뷰란?인덱싱된 뷰는 인덱스를 가진 뷰로, 일반 뷰와 달리 실제로 데이터를 저장합니다.일반 뷰는 테이블의 데이터를 가상의 테이블 형태로 보여줄 뿐, 데이터를 저장하지 않습니다. 반면, 인덱싱된 뷰는 클러스터형 인덱스를 생성함으로써 데이터를 물리적으로 저장하고, 뷰를 통해 데이터 조회 시 더 빠른 응답 속도를 제공합니다. 언제 사용하나요?복잡한 조인 + 집계 쿼리를 반복 실행.. 더보기
MSSQL 뷰(View) 완벽 정리: 개념부터 실전까지 MSSQL을 사용하다 보면 **View(뷰)**라는 개념을 자주 접하게 됩니다. 하지만 실제로 뷰를 얼마나 잘 활용하고 있을까요? 이 글에서는 뷰의 기본 개념부터 생성, 사용법, 장단점, 실무 팁까지 체계적으로 정리해 드리겠습니다. 뷰(View)란?**뷰(View)**는 하나 이상의 테이블을 조합하여 만든 가상의 테이블입니다.즉, 실제 데이터를 저장하고 있지는 않지만, SELECT 쿼리 결과를 테이블처럼 다룰 수 있도록 만들어주는 객체입니다. 뷰를 사용하면 복잡한 쿼리를 단순화할 수 있고, 데이터 접근을 제한할 수도 있습니다. 뷰 생성 방법CREATE VIEW 뷰이름 ASSELECT 컬럼1, 컬럼2, ...FROM 테이블명WHERE 조건; 예제CREATE VIEW vw_ActiveUsers ASSELE.. 더보기
초보도 이해하는 MSSQL 트리거 사용법 (실무 예제 포함) 트리거란?트리거(Trigger)는 특정 테이블에 INSERT, UPDATE, DELETE 같은 DML 이벤트가 발생할 때 자동으로 실행되는 저장 프로시저입니다.쉽게 말해, 테이블에 무언가 변경되면 자동으로 작동하는 감시자라고 볼 수 있어요. 트리거 언제 쓰나요?변경 이력을 자동으로 저장할 때 (ex. Audit 로그)데이터 무결성 유지 (ex. 잘못된 삭제 방지)연관 테이블 자동 처리 (ex. 재고 차감 등) 트리거 기본 구조CREATE TRIGGER 트리거명ON 테이블명AFTER INSERT, UPDATE, DELETE -- 또는 INSTEAD OFASBEGIN -- 트리거 실행 시 동작할 SQL 문END 실무 예제: 회원 정보 수정 시 로그 남기기1. 테이블 준비-- 회원 테이블CREATE TA.. 더보기
MS-SQL 연결된 서버(Linked Server) 설정방법 2 MSSQL 링크드 서버 설정 방법 자세한 설정 방법은 아래의 게시글에 적어놓았다. 2025.04.04 - [MS-SQL] - MS-SQL 연결된 서버(Linked Server) 설정방법 MS-SQL 연결된 서버(Linked Server) 설정방법MSSQL 링크드 서버 설정 방법1. 링크드 서버란?MSSQL의 링크드 서버(Linked Server)는 하나의 SQL Server 인스턴스에서 다른 SQL Server 또는 이기종 데이터베이스(MySQL, Oracle 등)에 연결하여 데이터를 조회하dongkyu.tistory.com 1. 링크드 서버 추가하기  1.1 함수 실행이 아닌 직접 추가하기  연결된서버 - 새 연결된 서버(N) 을 클릭한다   연결된 서버(N) : 호출 할 서버 명칭 데이터 원본(D) .. 더보기
MS-SQL 연결된 서버(Linked Server) 설정방법 MSSQL 링크드 서버 설정 방법1. 링크드 서버란?MSSQL의 링크드 서버(Linked Server)는 하나의 SQL Server 인스턴스에서 다른 SQL Server 또는 이기종 데이터베이스(MySQL, Oracle 등)에 연결하여 데이터를 조회하고 조작할 수 있도록 해주는 기능입니다.2. 링크드 서버 추가 방법2.1 SQL Server Management Studio(SSMS)에서 설정하기SSMS 실행 및 연결SQL Server Management Studio(SSMS)를 실행하고 연결합니다.객체 탐색기에서 링크드 서버 추가개체 탐색기(Object Explorer)에서 서버 개체(Server Objects) → 링크드 서버(Linked Servers)를 마우스 우클릭하여 새 링크드 서버(New Li.. 더보기
MS-SQL 사용자 정의 테이블 1. 사용자 정의 테이블 유형 생성사용자 정의 테이블 유형은 하나의 테이블 구조를 정의합니다.CREATE TYPE MyTableType AS TABLE( ID INT, Name NVARCHAR(100), CreatedDate DATETIME); 2. 저장 프로시저 생성이 유형을 매개변수로 사용하는 저장 프로시저를 만듭니다.CREATE PROCEDURE InsertIntoMyTable @MyTable MyTableType READONLYASBEGIN INSERT INTO MyTable (ID, Name, CreatedDate) SELECT ID, Name, CreatedDate FROM @MyTable;END;READONLY는 필수로 지정해야 하며, UDT는 수정할 수.. 더보기
MS-SQL SUBSTRING, LEFT, RIGHT (문자열 자르기) SUBSTRING, LEFT, RIGHT 함수는 모두 문자열을 조작하기위해 사용한다.데이터베이스에서 문자열을 처리할 때 유용하게 사용됩니다. 각 함수의 인덱스는 1부터 시작합니다. 길이 파라미터를 지정하지 않으면 LEFT와 RIGHT 함수에서는 문자열의 전체 길이를 반환하며, SUBSTRING 함수에서는 시작 위치부터 문자열의 끝까지를 반환합니다. 1. SUBSTRING 함수SUBSTRING 함수는 문자열의 일부를 반환합니다.문법: SUBSTRING(string_expression, start, length)string_expression: 원본 문자열start: 추출을 시작할 위치 (1부터 시작)length: 추출할 문자의 길이SELECT SUBSTRING('Hello, world!', 1, 5) AS.. 더보기
MS-SQL 재귀호출 1. 재귀호출이란 ? 재귀 호출은 함수나 프로시저가 자신을 호출하여 작업을 수행하는 프로그래밍 기술이다. 문제를 간단하고 이해하기 쉽게 표현할 수 있으며, 특정 유형의 알고리즘에서 유용하게 사용된다. 2. MSSQL의 재귀 호출공통 테이블 식(Common Table Expressions, CTE) CTE는 WITH 절을 사용하여 정의되며, 재귀적으로 쿼리에 결과를 생성하는 데 사용된다. 재귀 함수 구현 재귀 함수를 사용하여 특정 작업을 반복적으로 수행한다.3. 예시-- 재귀적으로 팩토리얼을 계산하는 함수CREATE FUNCTION dbo.Factorial (@n INT)RETURNS INTASBEGIN IF @n  4. 주의사항재귀 호출은 잘못된 사용으로 인해 무한 루프와 같은 문제를 발생시킬 수 .. 더보기

반응형