FireDAC.Stan.Option.TFDFormatOptions.InlineDataSize

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

property InlineDataSize: Integer read GetInlineDataSize write  SetInlineDataSize stored IsIDSS default C_FD_DefInlineDataSize;

C++

__property int InlineDataSize = {read=GetInlineDataSize, write=SetInlineDataSize, stored=IsIDSS, default=1000};

Properties

Type Visibility Source Unit Parent
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDFormatOptions

Description

Controls how character or byte string values are stored in the record buffer.

Use InlineDataSize to control how character or byte string values are stored in the record buffer. The default value is 1000 bytes. 

If the dtAnsiString, dtWideString, dtByteString field values are less than InlineDataSize, then FireDAC stores field values inside of the record buffer (inline storage). If the field values are equal to or greater than InlineDataSize, then the record buffer will keep a pointer to the allocated memory space for the field value (exact storage). 

An inline storage offers good performance at data fetching, but may use a much larger memory space than an exact storage. A good performance, because there is no need to allocate a memory space for each string value and it allows you to streamline a rowset fetching. It uses a larger memory space, because of the following: For example, a column in a table is declared as VARCHAR(2000), but a record field has a 50-character-long value. An inline storage uses a 2000-character-long space for a value storage, while a space of only 50 characters is required. By contrast, the exact storage allocates a 50-character-long space and stores the pointer to this space inside of the record buffer. 

Also, long string values (BLOBs) are always stored using exact storage.

See Also