SQL/MS-SQL(16)
-
SQL Join
이번글은 Join에대해서 설명하려고 합니다. 데이터베이스를 운영하거나 분석하는 과정에서 여러 테이블 간의 데이터를 결합하는 작업은 매우 빈번하게 발생합니다. MSSQL에서 제공하는 JOIN 기능은 이런 작업을 손쉽게 해주며, 올바르게 사용하면 복잡한 데이터 관계를 간결하게 표현할 수 있습니다. 이 글에서는 MSSQL에서 사용 가능한 다양한 JOIN 유형과 각각의 특징, 사용 예제, 그리고 성능 최적화 팁까지 상세히 살펴보겠습니다.1. JOIN의 기본 개념JOIN은 두 개 이상의 테이블에서 공통된 컬럼을 기준으로 데이터를 결합하는 SQL 명령어입니다.예를 들어, 고객 정보가 담긴 테이블과 고객의 주문 정보가 담긴 테이블이 있을 때, 두 테이블을 JOIN하여 특정 고객의 주문 내역을 한 번에 조회할 수 있습..
2025.02.20 -
MSSQL - Optimizer(옵티마이저)
MSSQL에서 가장 중요한 옵티마이저에 대해서 이야기하려고합니다. MSSQL 옵티마이저란?MSSQL 옵티마이저(Query Optimizer)는 Microsoft SQL Server의 핵심 구성 요소 중 하나로, 사용자가 작성한 SQL 쿼리를 최적의 실행 계획(Execution Plan) 으로 변환하여 데이터베이스에 대한 효율적인 접근을 가능하게 합니다. 간단히 말해, “어떤 방법으로 쿼리를 실행할지 결정하는 뇌” 역할을 수행합니다.MSSQL 옵티마이저의 동작 원리SQL Server에서 쿼리가 실행될 때, 옵티마이저는 다음과 같은 과정을 거칩니다:쿼리 파싱 (Parsing):SQL 문이 구문 분석되어 문법적 오류가 없는지 확인한 후, 내부 표현(파스 트리; Parse Tree)로 변환됩니다.쿼리 재작성 (..
2025.02.17 -
MS-SQL - 반올림(ROUND), 올림(CEILING), 내림(FLOOR)
안녕하세요. SQL Server의 반올림, 올림, 내림 함수에 대해 공유드립니다. 데이터베이스를 다루다 보면 숫자 데이터를 처리하는 과정에서 반올림, 올림, 내림이 필요할 때가 많습니다. 이번 포스팅에서는 SQL Server에서 제공하는 ROUND, CEILING, FLOOR 함수에 대해 자세히 알아보겠습니다.SQL Server에서는 숫자를 처리할 때 다양한 함수들을 제공합니다. 그 중에서도 반올림, 올림, 내림 함수는 숫자를 원하는 형태로 변환하는 데 매우 유용합니다. 이 함수들은 각각의 목적에 맞게 사용되며, 데이터의 정확성을 높이는 데 기여합니다.ROUND 함수의 사용법ROUND 함수는 주어진 숫자를 지정한 자릿수로 반올림하는 데 사용됩니다. 기본적인 문법은 다음과 같습니다:ROUND ( nume..
2025.02.17 -
[MSSQL]테이블 용량 확인
테이블 용량을 확인 하기 위해 해당 쿼리를 이용하여 테이블의 용량 상태를 확인 할 수 있습니다. 해당 테이블의 용량에 따라 정리를 하여 유지보수 하는 것이 좋습니다. SELECT CONVERT(VARCHAR(30), MIN(T02.NAME)) AS TABLE_NM , CONVERT(INT, LTRIM(STR(SUM(reserved) * 8.192 / 1024., 15, 0))) AS TABLE_SIZE , 'MB' AS SIZE_UNIT FROM SYSINDEXES T01 INNER JOIN SYSOBJECTS T02 on (T01.ID = T02.ID) WHERE 1=1 AND T01.INDID IN (0, 1, 255) AND T02.XTYPE = 'U' GROUP BY T01.ID ORDER BY ..
2024.03.13 -
[MS-SQL] DB 백업, DB 리스토어
안녕하세요. 이번 포스팅은 DB 백업과 리스토어(복원)에 관하여 설명하려고 합니다. 저는 Microsoft SQL Serve Managemnet Studio를 통하여 하는 방법을 설명하겠습니다. 1. 파일 확인 먼저, 백업 하려는 데이터베이스를 선택하시고 우클릭 후 속성을 선택합니다. 그리고 파일 탭으로 이동합니다. 이동하시면 데이터베이스 파일을 확인 하실수 있습니다. 2. 백업 백업 명령어는 아래와 같습니다. BACKUP DATABASE [데이터베이스명] TO DISK = [경로]; 예제) BACKUP DATABASE TEST TO DISK = 'E:\DB_BACKUP\TEST.bak'; 3. 리스토어(복원) 복원은 1번항목 파일에 대한 정보가 필요합니다. 각각 파일의 위치를 지정 하여야합니다. RES..
2023.06.29 -
[MS-SQL] 테이블 파티션 인덱스 설정
안녕하세요. 이번포스팅은 파티션인덱스에 관하여 작성하였습니다. MS-SQL에서 대용량처리시 필요한 내용입니다. 관리하고 검색하기 위한 기술로, 인덱스 자체를 여러 개의 논리적인 파티션으로 나누어 저장하는 인덱스입니다. 1. 파티션 함수 생성 먼저, 파티션 함수를 작성해야합니다. CREATE PARTITION FUNCTION PF_ITM_NO (VARCHAR(10)) AS RANGE RIGHT FOR VALUES ( 'A' ,'B' ,'C' ) 위의 함수는 'A','B','C'로 시작하는 품목 번호를 파티션을 나누기 위해 작성합니다. RIGHT 대신 LEFT도 사용가능합니다. LEFT 또는 RIGHT는 파티션 경계 값을 포함할 위치를 지정합니다. LEFT는 해당 값 이전의 파티션에 포함되고, RIGHT는 ..
2023.05.10