반응형

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'

 

반응형

+ Recent posts