n ‘text in row’ 옵션
‘text in row’ 옵션을 설정하면, Text, ntext, image 열의 행에 저장할 최대 크기를 지정할 수 있습니다. 기본값은 256바이트이고, 값의 범위는 24에서 7000바이트입니다. 다음은 Orders 테이블의 text 열에 저장할 데이터를 1000바이트로 지정합니다.
[중요] 이 기능의 ‘text in row’ 옵션은 이후 버전의 SQL Server 에서 제거될 예정입니다. 큰 값의 데이터를 저장하기 위해서는 varchar(max), nvarchar(max), varbinary(max) 데이터 형식을 사용할 것을 권고합니다.
[따라하기] 테이블에 ‘text in row’ 옵션 설정하기 |
EXEC sp_tableoption 'orders', 'text in row', '1000' GO -- 설정값 확인 USE Northwind; GO SELECT OBJECTPROPERTY(OBJECT_ID('orders'),'TableTextInRowLimit'); GO |
n ‘large value types out of row’’ 옵션
sp_tableoption을 사용하면 행 외부 옵션을 설정 및 해제할 수 있습니다.
varchar(max), nvarchar(max) 및 varbinary(max)를 큰 값 데이터 형식이라고 하며, 큰 값 데이터 형식을 사용하면 최대 231-1바이트의 데이터를 저장할 수 있습니다. sp_tableoption 저장 프로시저의 'large value types out of row' 옵션을 OFF로 설정하면 큰 값 형식의 행 내부 저장 용량 제한은 8,000바이트입니다. 이 옵션을 ON으로 설정하면 행 내부에 16바이트 루트가 저장됩니다.
대부분의 쿼리문이 큰 값 데이터 형식 열을 참조하지 않는 테이블에 대해서는 이 옵션을 ON으로 설정하는 것이 좋습니다. 이러한 열을 행 외부에 저장하면 각 페이지에 더 많은 행이 들어갈 수 있으므로 테이블을 검색하는 데 필요한 I/O 작업 수가 줄어듭니다. 이 옵션의 값을 OFF로 설정하면 각 페이지에 저장되는 데이터 행의 수가 줄어들어 쿼리를 처리하기 위해 읽어야 하는 페이지의 수가 늘어날 수 있습니다.
다음 문장 중에 하나를 사용하여 MyTable 테이블에 행 외부 옵션을 설정합니다. sp_tableoption의 설정값은 true, on, 1 이고 해제값은 false, off, 0 입니다.
large value types out of row 옵션 값이 변경되는 경우, 기존 varchar(max), nvarchar(max), varbinary(max) 및 xml 값은 즉시 변환되지 않고, 문자열의 저장소는 다음에 업데이트될 때 변경됩니다.
[따라하기] 테이블에 행 외부 옵션 설정하기 |
EXEC sp_tableoption N'MyTable', 'large value types out of row', 'ON'; EXEC sp_tableoption N'MyTable', 'large value types out of row', 1 EXEC sp_tableoption N'MyTable', 'large value types out of row', 'true' |
'연구개발 > SQL2005' 카테고리의 다른 글
[SQL 2005 GUIDE] 테이블 변경 - 열 삭제하기 (0) | 2009.07.06 |
---|---|
[SQL 2005 GUIDE] 테이블 변경 - 열 추가하기 (0) | 2009.07.06 |
[SQL 2005 GUIDE] 행 오버플로 (0) | 2009.07.06 |
[SQL 2005 GUIDE] Objects 이름 변경하기 (0) | 2009.07.06 |
[SQL 2005 GUIDE] CHECK 제약 조건 (0) | 2009.07.06 |