본문 바로가기

MSSQL11

MSSQL - 파티션 테이블 생성 파티션은 컬럼 값의 범위를 기준으로 테이블 및 인덱스를 둘 이상의 파일 그룹에 분할하여 저장하거나  단일 파일 그룹 내에 단위를 나누어 저장하는 방식을 말합니다.  단일 파일 그룹내에 여러 파일이 있는 경우는 비례 채우기 알고리즘(proportional fill algorithm)을  이용하여 데이터를 분산합니다. 대용량 데이터 조회 시 좀 더 빠른 데이터의 접근을 위해서, 또는 데이터 삭제의 용이성을 위해서테이블을 파티션으로 분할하여 사용할 수 있습니다. 1. 파티션 함수 생성 어떤 기준으로 분할할지 결정한 후, 아래 구문을 통해 파티션 함수를 생성합니다.  범위 형식(LEFT 또는 RIGHT)은 파티션 함수의 경계 값을 결과 파티션에 배치하는 방법을 지정합니다.  - LEFT 범위는 가장 높은 경계 .. 2024. 11. 30.
MSSQL 속도 개선 - 데이터 형식 우선순위 연산자가 데이터 형식이 다른 두 식을 결합할 경우 우선순위가 낮은 데이터 형식이 우선순위가 높은 데이터 형식으로 변환됩니다. 모든 경우에 대해 변환이 이루어지는 것은 아니고, 변환이 지원되는 암시적 변환이 아닌 경우에는 오류가 발생합니다. ● 암시적 변환 (Implicit Conversions) (예제1) -- EmpNo 컬럼은 NVARCHAR 데이터 형식 SELECT  T.LoginID, T.JobTitle FROM    Table2 AS T WHERE  T.EmpNo = 00550001 ;SELECT  T.LoginID, T.JobTitle FROM   Table2 AS T WHERE T.EmpNo = '00550001' ; (예제2) -- D_ID  컬럼은 decimal 데이터 형식 -- A_Key.. 2024. 11. 28.
MSSQL 속도 개선 - SARGable 연산자 사용 SARGable 는 관계형 데이터베이스에서 쿼리 실행 속도를 높일 수 있는 쿼리의 조건을 의미합니다. 시스템 리소스를 더 적게 사용하면서, 더 빠른 시간에 결과를 얻을 수 있습니다. 가능하다면 SARGable 연산자를 사용하는 것이 더 효율적이라고 말할 수 있습니다. SARGable 연산자         :  =, >, =, Non-SARGable 연산자 :  , IN, OR, NOT IN, NOT LIKE  ● 예시 1 SELECT   T.Code FROM      Table1 AS T WHERE   LEFT(T.Code, 1) = 'A' ; SELECT   T.CodeFROM      Table1 AS TWHERE  T.Code like 'A%' ;   ● 예시 2SELECT   T.RegDateFR.. 2024. 11. 26.