From RAD Studio API Documentation
Jump to: navigation, search


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


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


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


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