decimal 데이터 타입을 가변 길이형으로 저장하여 데이터베이스 사이즈를 줄이고 I/O를 개선할 수 있다.
단, CPU에 추가로 발생하는 오버해드를 고려해야 한다.
사용 조건
- SQL 2005 SP2 이상
- Enterprise, Developer, Evaluation Edition
- ALTER DATABASE 권한
sp_db_vardecimal_storage_format [ [ @dbname = ] 'database' ] [ , [ @vardecimal_storage_format = ] {'ON' | 'OFF' }] [ ; ]
다음과 같은 경우 sp_db_vardecimal_storage_format이 실패합니다.
- 데이터베이스에 활성 사용자가 있는 경우
- 데이터베이스를 미러링에 사용할 수 있는 경우
- SQL Server 버전에서 VarDecimal 저장소 형식을 지원하지 않는 경우
고정 길이 decimal vs. 가변 길이 decimal
Column precision | Original fixed decimal size (bytes) | Maximum vardecimal data area (bytes) | Overhead to store offset (bytes) | Maximum vardecimal storage used (bytes) |
1-3 | 5 | 3 | 2 | 5 |
4-6 | 5 | 4 | 2 | 6 |
7-9 | 5 | 5 | 2 | 7 |
10-12 | 9 | 6 | 2 | 8 |
13-15 | 9 | 8 | 2 | 10 |
16-18 | 9 | 9 | 2 | 11 |
19 | 9 | 10 | 2 | 12 |
20-21 | 13 | 10 | 2 | 12 |
22-24 | 13 | 11 | 2 | 13 |
25-27 | 13 | 13 | 2 | 15 |
28 | 13 | 14 | 2 | 16 |
29-30 | 17 | 14 | 2 | 16 |
31-33 | 17 | 15 | 2 | 17 |
34-36 | 17 | 16 | 2 | 18 |
37-38 | 17 | 18 | 2 | 20 |
출처 : http://technet.microsoft.com/en-us/library/bb508963(SQL.90).aspx
'SQL Server > SQL Server Tip & Tech' 카테고리의 다른 글
Change Tracking [SQL Server 2008] (0) | 2009.06.24 |
---|---|
테이블 변수 vs 임시 테이블 (0) | 2009.06.11 |
NON-IDENTITY 컬럼을 IDENTITY 컬럼으로 바꾸기 (0) | 2009.04.13 |
모든 테이블의 데이터 일괄 삭제하기 (5) | 2009.03.04 |
로그 DB 설계와 관리에 대한 컨셉 (슬라이딩 윈도우) (0) | 2009.02.25 |