MSSQL

    [MSSQL] 윈도우 함수 RANK() OVER 다루기 / DENSE_RANK()

    [MSSQL] 윈도우 함수 RANK() OVER 다루기 / DENSE_RANK()

    윈도우 함수 중 그룹 내 순위 함수로 RANK() 함수가 존재한다. 윈도우 함수란 행과 행간의 관계를 정의하기 위한 함수이고, RANK() 함수는 ANSI/ISO SQL 표준과 SQLServer Oracle에서 지원한다. RANK()란? RANK() 함수는 결과 집합의 파티션 내에서 각 행의 순서를 할당하는 윈도우 함수이다. RANK()의 특징. 동일한 값을 갖는 파티션 내의 각 행은 동일한 순위를 받습니다. 파티션 내에서 첫 번째 순위는 1부터 시작한다. 같은 순위에 연결된 행의 수를 더하여 다음 행의 순위를 계산한다. RANK() 함수 Syntax RANK() OVER ( [PARTITION BY partition_expression, ... ] ORDER BY sort_expression [ASC ..

    [MSSQL] 파일 그룹별로 디스크 할당량, 사용량, 할당 가능량 조회 쿼리

    [MSSQL] 파일 그룹별로 디스크 할당량, 사용량, 할당 가능량 조회 쿼리

    SELECT a.[NAME] as '파일 그룹명' , b.size*8 /1024 as 'PhysicalSize (MB)' ,(b.Size - sum(total_pages))*8/1024 as 'UnAllocationSize (MB) ' , sum(total_pages) * 8 /1024 as 'TotalAllocation (MB)' , sum(used_pages)*8 /1024 as 'UsedAllocation (MB)' , sum(data_pages) *8/1024 as 'DataSize (MB)' , sum(total_pages-used_pages)*8/1024 as 'FreeSize (MB)' FROM SYS.filegroups a with (nolock) INNER JOIN ( SELECT dat..

    [MSSQL] 제약조건(CONSTRAINT)이란 ?

    [MSSQL] 제약조건(CONSTRAINT)이란 ?

    제약 조건 ( Constraint )이란 데이터의 무결성을 지키기 위해 제한된(한) 조건을 말한다. 즉, 데이터를 삽입, 수정 등을 할 때 무조건 삽입하고 수정하는 것이 아니고 제한된 조건을 만족해야지만 삽입하고 수정하여 무결성을 지키는 것이다. SQL Server에서 정의된 제약조건에는 아래와 같다. Primary Key Constraint : PK 조건에 만족하는가? Foreign Key Constraint : FK 조건에 만족하는가? UNIQUE Constraint : 유니크한 Value인가? CHECK Constraint : 체크로직에 만족하는가? (ex) Value > 100 DEFAULT Constraint : Default 값을 부여하는 제약조건. ● Primary Key Constraint..

    [MSSQL] 데이터베이스 파일그룹 정리

    [MSSQL] 데이터베이스 파일그룹 정리

    SQL Server 데이터베이스에는 2가지의 데이터 파일과 로그 파일 총 3가지의 파일로 데이터베이스를 운영합니다. 데이터 파일 : 테이블, 인덱스, 저장 프로시저 및 뷰 등의 개체와 데이터를 저장합니다. 로그 파일 : 데이터베이스의 모든 트랜잭션을 복구하는 데 필요한 정보를 저장합니다. 로그 파일은 트랜잭션 로그 파일이라고 흔히 부릅니다. 데이터 파일은 할당 및 관리를 간편하게 수행하기 위해 파일 그룹으로 그룹화하여 관리 할 수 있습니다. ● 데이터베이스 파일 파일 설명 Primary File (.mdf) 데이터베이스의 시작 정보를 포함하며 데이터베이스의 나머지 파일을 관리합니다. 모든 데이터베이스에는 Primary File이 있습니다. 데이터 파일 확장명은 .mdf입니다. Secondary File ..

    [MSSQL] CentOS MSSQL 설치하기

    [MSSQL] CentOS MSSQL 설치하기

    이번 포스트에서는 CentOS에 SQL Server를 설치해볼 예정이다. 무작정 따라 하기 콘셉트로 작성된 포스트이니.... 오류 발생 시엔 메모를 남기도록 하겠다... SQL Server 실행 패키지 설치 아래 명령어를 따라 하자 $ sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 232 100 232 0 0 416 0 --:--:-- --:--:-- --:--:..

    [MSSQL] 슬라이딩 윈도우:테이블 파티셔닝 기법

    [MSSQL] 슬라이딩 윈도우:테이블 파티셔닝 기법

    이번에는 슬라이딩 윈도 알고리즘을 통한 테이블 파티셔닝 슬라이딩 윈도 기법에 대해 포스트 할 예정이다. 로그성 데이터와같이 데이터가 계속 쌓이는 테이블의 경우 기간이 늘어날수록 데이터는 점점 방대해진다. 테이블의 행 데이터가 매우 많은 대용량 데이터베이스의 경우에 INSERT, UPDATE, SELECT 등의 작업은 갈수록 느려지게 마련이다. 이럴 경우, 테이블을 분할하는 것이 시스템 성능에 큰 도움이 된다. ● 윈도우 슬라이딩 프로세스 윈도 슬라이딩을 사용하는 상황은 무엇이 있을까? 아래 그림과 같이 6개월간의 데이터들이 모여있다고 하자. SysEndTime 테이블은 최근 6개월의 데이터만 보관한다. 6개월 초과된 데이터는 오래된 데이터를 모아두는 테이블에 보관한다. 최근 6개월의 데이터를 보관하기 위..